SPREAD for ASP.NET 10.0J サンプルコード集 > スパークライン > セルの中にグラフを表示する |
SheetViewクラスのAddSparklineメソッドを使用します。また、複数のセルでグラフの設定を共有する場合には、SheetViewクラスのSparklineContainerプロパティにスパークラインのグループを追加する方法があります。
E列のセルに各行のデータを折れ線で、4行目のセルに各列のデータを縦棒のグラフで表示しています。
グラフを表示するには、SPREADのHTTPハンドラを有効にする必要があります。設定方法については、「チャートのHTTPハンドラを登録する」を参照してください。 |
SheetView sheet = FpSpread1.Sheets[0]; SetTestData2(sheet); //スパークライン(折れ線)を設定します ExcelSparklineGroup sparkRows = new ExcelSparklineGroup(new ExcelSparklineSetting() { ManualMax=10, ManualMin=-5, MaxAxisType=SparklineAxisMinMax.Custom, MinAxisType=SparklineAxisMinMax.Custom, SeriesColor = System.Drawing.Color.Blue, ShowMarkers = true, ShowNegative = true, MarkersColor = System.Drawing.Color.Blue, NegativeColor = System.Drawing.Color.Red }, SparklineType.Line); FarPoint.Web.Spread.Model.CellRange data; for(int row = 0; row < 3; row++) { data = new FarPoint.Web.Spread.Model.CellRange(row, 0, 1, 4); sparkRows.Add(new ExcelSparkline(row, 4, sheet, data)); } sheet.SparklineContainer.Add(sparkRows); //スパークライン(縦棒)を設定します ExcelSparklineGroup sparkCols = new ExcelSparklineGroup(new ExcelSparklineSetting() { SeriesColor = System.Drawing.Color.Blue, ShowMarkers = true, ShowNegative = true, MarkersColor = System.Drawing.Color.Blue, NegativeColor = System.Drawing.Color.Red }, SparklineType.Column); for(int col = 0; col < 4; col++) { data = new FarPoint.Web.Spread.Model.CellRange(0, col, 3, 1); sparkCols.Add(new ExcelSparkline(3, col, sheet, data)); } sheet.SparklineContainer.Add(sparkCols);
Dim sheet As SheetView = FpSpread1.Sheets(0) SetTestData2(sheet) 'スパークライン(折れ線)を設定します Dim sparkRows As New ExcelSparklineGroup(New ExcelSparklineSetting() With { .ManualMax = 10, .ManualMin = -5, .MaxAxisType = SparklineAxisMinMax.[Custom], .MinAxisType = SparklineAxisMinMax.[Custom], .SeriesColor = System.Drawing.Color.Blue, .ShowMarkers = True, .ShowNegative = True, .MarkersColor = System.Drawing.Color.Blue, .NegativeColor = System.Drawing.Color.Red }, SparklineType.Line) Dim data As FarPoint.Web.Spread.Model.CellRange For row As Integer = 0 To 2 data = New FarPoint.Web.Spread.Model.CellRange(row, 0, 1, 4) sparkRows.Add(New ExcelSparkline(row, 4, sheet, data)) Next sheet.SparklineContainer.Add(sparkRows) 'スパークライン(縦棒)を設定します Dim sparkCols As New ExcelSparklineGroup(New ExcelSparklineSetting() With { .SeriesColor = System.Drawing.Color.Blue, .ShowMarkers = True, .ShowNegative = True, .MarkersColor = System.Drawing.Color.Blue, .NegativeColor = System.Drawing.Color.Red }, SparklineType.Column) For col As Integer = 0 To 3 data = New FarPoint.Web.Spread.Model.CellRange(0, col, 3, 1) sparkCols.Add(New ExcelSparkline(3, col, sheet, data)) Next sheet.SparklineContainer.Add(sparkCols)
この例では、テストデータの生成に以下のメソッドを使用しています。
public void SetTestData2(SheetView sheet) { sheet.RowCount = 4; sheet.ColumnCount = 5; string tab = "\t", ent = "\r\n"; string data = "1" + tab + "2" + tab + "-1" + tab + "3" + ent + "2" + tab + "-1" + tab + "10" + tab + "4" + ent + "-1" + tab + "3" + tab + "2" + tab + "1" + ent; sheet.SetClip(0, 0, 3, 4, data); }
Public Sub SetTestData2(sheet As SheetView) sheet.RowCount = 4 sheet.ColumnCount = 5 Dim tab As String = vbTab, ent As String = vbNewLine Dim data As String = "1" + tab + "2" + tab + "-1" + tab + "3" + ent _ + "2" + tab + "-1" + tab + "10" + tab + "4" + ent _ + "-1" + tab + "3" + tab + "2" + tab + "1" + ent sheet.SetClip(0, 0, 3, 4, data) End Sub