MESCIUS SPREAD for Windows Forms 17.0J
チャートシートの追加

チャートシートとは、チャートのみを含んだシートです。ワークブックに チャートシートを追加するには、EnhancedShapeEngine プロパティを True に設定して、新しいシェイプエンジンを有効にする必要があります。その後、IWorkbook インタフェースの Charts.Add() メソッドを使用して、ワークブックに チャートシートを追加できます。Charts プロパティは、指定したワークブック内のチャートのコレクションを返します。

チャートをチャット シートの現在のビューポートに収めて表示するには、以下に示すように、View.ZoomToFit プロパティを true に設定します。

fpSpread1.AsWorkbook().Charts[0].View.ZoomToFit = true;

ただし、グリッド線、セル、データなどの他の項目を含むワークシートにチャートを埋め込む場合には、ワークシートにChartを追加する必要があります。

次の図は 、チャートシートの例です。

以下のサブセクションでは、ワークブック内のさまざまなチャートシートの操作について説明します。

コードからチャートシートの追加

チャートシートはアクティブなワークシートの前後に追加できます。また、チャート シートを追加するときに、チャートシートの位置と数を指定することもできます。

次のサンプルコードは、さまざまな状況でチャートシートを追加する方法を示しています。

C#
コードのコピー
fpSpread1.Features.EnhancedShapeEngine = true;
fpSpread1.AsWorkbook().ActiveSheet.SetValue(1, 1, new int[,] { { 1, 4 }, { 2, 5 }, { 3, 6 } });
      
//アクティブシートの前にチャートを追加します
fpSpread1.AsWorkbook().Charts.Add();
fpSpread1.Sheets[0].Charts[0].DataFormula = "Sheet1!B2:C4";
fpSpread1.Sheets[0].Charts[0].ViewType = ChartViewType.View3D;
         
//Sheet1 の前にチャートを2 つ追加します
fpSpread1.AsWorkbook().Charts.Add(before: 1, count: 2);
//または
//fpSpread1.AsWorkbook().Charts.Add(before: "Sheet1", count: 2);
fpSpread1.Sheets[1].Charts[0].DataFormula = "Sheet1!B2:B4";
fpSpread1.Sheets[2].Charts[0].DataFormula = "Sheet1!C2:C4";
//Sheet1 の後にチャートを 1 つ追加します
fpSpread1.AsWorkbook().Charts.Add(after: 3, count: 1);
//または
//fpSpread1.AsWorkbook().Charts.Add(after: "Sheet1", count: 1);
fpSpread1.Sheets[4].Charts[0].DataFormula = "Sheet1!B2:C2";

Visual Basic
コードのコピー
fpSpread1.Features.EnhancedShapeEngine = True
fpSpread1.AsWorkbook().ActiveSheet.SetValue(1, 1, New Integer(,) {
{1, 4},
{2, 5},
{3, 6}})
' アクティブシートの前にチャートを追加します
fpSpread1.AsWorkbook().Charts.Add()
fpSpread1.Sheets(0).Charts(0).DataFormula = "Sheet1!B2:C4"
fpSpread1.Sheets(0).Charts(0).ViewType = ChartViewType.View3D
' Sheet1 の前にチャートを2 つ追加します
fpSpread1.AsWorkbook().Charts.Add(before:=1, count:=2)
' または
fpSpread1.Sheets(1).Charts(0).DataFormula = "Sheet1!B2:B4"
fpSpread1.Sheets(2).Charts(0).DataFormula = "Sheet1!C2:C4"
' Sheet1 の後にチャートを 1 つ追加します
fpSpread1.AsWorkbook().Charts.Add(after:=3, count:=1)
' または
fpSpread1.AsWorkbook().Charts.Add(after:="Sheet1", count:=1)
fpSpread1.Sheets(4).Charts(0).DataFormula = "Sheet1!B2:C2"

実行時にチャートシートの追加

実行時に、ワークブックにチャートシートを追加するには、次の手順に従います。

  1. EnhancedShapeEngineTabStrip.Editableプロパティを true に設定して、Spread コントロールをロードします。
    C#
    コードのコピー
    fpSpread1.Features.EnhancedShapeEngine = true;
    fpSpread1.TabStrip.Editable = true;
    
    Visual Basic
    コードのコピー
    fpSpread1.Features.EnhancedShapeEngine = True
        fpSpread1.TabStrip.Editable = True
    
  2. デザイナを開き、タブストリップの Sheet1 を右クリックします。
  3. メニューから「挿入」オプションを選択します。
  4. 挿入」ダイアログで、「グラフ」を選択し、「OK」をクリックします。
    Sheet1 の前に新しい チャートシート(Chart1)が追加されます。
       
  5. チャート領域を右クリックし、「データの選択」オプションを選択してデータ ソースのを選択します。
  6. データを含む Sheet1 をクリックし、必要なデータ範囲を選択します。
  7. 選択した範囲が、「データソースの選択」ダイアログの「チャートデータ範囲」テキストボックスに表示されます。
  8. OK」をクリックすると、チャートシートにチャートが表示されます。

次の図は、実行時にワークブックに チャートシートを追加する方法を示しています。

チャートシートへのチャートの移動

SPREADでは、ワークシート内にチャートがすでに存在する場合は、そのチャートを チャートシートに移動することができます。

次のサンプルコードは、ワークシートからチャートを チャートシートに移動する方法を示しています。

C#
コードのコピー
fpSpread1.Features.EnhancedShapeEngine = true;
fpSpread1.AsWorkbook().ActiveSheet.SetValue(1, 1, new int[,] { { 1, 4 }, { 2, 3 }, { 3, 2 } });
fpSpread1.AsWorkbook().Charts.Add(before: 0, count: 2);
fpSpread1.Sheets[0].Charts[0].DataFormula = "Sheet1!C2:C3";
fpSpread1.Sheets[0].Charts[0].ViewType = ChartViewType.View3D;
fpSpread1.Sheets[1].Charts[0].DataFormula = "Sheet1!B2:B4";
IChart chart1 = fpSpread1.AsWorkbook().Charts[1];
IChart chart2 = fpSpread1.AsWorkbook().Charts[0];
chart1.Location(ChartLocation.Object, "Chart2");  // Chart1 を Chart2 に移動します。
chart2.Location(ChartLocation.NewSheet, "NewChartSheet"); // Chart2を新しいシートに移動します。

Visual Basic
コードのコピー
fpSpread1.Features.EnhancedShapeEngine = True
fpSpread1.AsWorkbook().ActiveSheet.SetValue(1, 1, New Integer(,) {
{1, 4},
{2, 3},
{3, 2}})
fpSpread1.AsWorkbook().Charts.Add(before:=0, count:=2)
fpSpread1.Sheets(0).Charts(0).DataFormula = "Sheet1!C2:C3"
fpSpread1.Sheets(0).Charts(0).ViewType = ChartViewType.View3D
fpSpread1.Sheets(1).Charts(0).DataFormula = "Sheet1!B2:B4"
Dim chart1 As IChart = fpSpread1.AsWorkbook().Charts(1)
Dim chart2 As IChart = fpSpread1.AsWorkbook().Charts(0)
chart1.Location(ChartLocation.Object, "Chart2") ' Chart1 を Chart2 に移動します
chart2.Location(ChartLocation.NewSheet, "NewChartSheet") ' Chart2を新しいシートに移動します

チャート/シートのコレクションからチャートシートの取得

チャート シートは、チャートコレクションおよびシートコレクションから取得することもできます。

次のサンプルコードは、チャート コレクションおよびシートコレクションからチャートシートを取得する方法を示しています。

C#
コードのコピー
fpSpread1.Features.EnhancedShapeEngine = true;
fpSpread1.AsWorkbook().ActiveSheet.SetValue(1, 1, new int[,] { { 1, 4 }, { 2, 5 }, { 3, 6 } });
fpSpread1.AsWorkbook().Charts.Add();
fpSpread1.Sheets[0].Charts[0].DataFormula = "Sheet1!B2:C4";
IChart chart1 = fpSpread1.AsWorkbook().Charts[0]; // チャートコレクションから取得します
chart1 = (IChart)fpSpread1.AsWorkbook().Sheets[0]; // シートコレクションから取得します

Visual Basic
コードのコピー
fpSpread1.Features.EnhancedShapeEngine = True
fpSpread1.AsWorkbook().ActiveSheet.SetValue(1, 1, New Integer(,) {
{1, 4},
{2, 5},
{3, 6}})
fpSpread1.AsWorkbook().Charts.Add()
fpSpread1.Sheets(0).Charts(0).DataFormula = "Sheet1!B2:C4"
Dim chart1 As IChart = fpSpread1.AsWorkbook().Charts(0) ' チャートコレクションから取得します
Dim chart1 As IChart = CType(fpSpread1.AsWorkbook().Sheets(0), IChart) ' シートコレクションから取得します

 

 


© MESCIUS inc. All rights reserved.