データとチャートを1 ページに収めて表示するのが難しい場合があります。
DioDocs for Excelでは、チャートを別のシートに追加することが可能です。本機能は、「チャートシート」と呼ばれます。ワークシートとは異なり、チャートシートにチャートのみが含まれます。これにより、同じワークシートに通常のデータと埋め込みチャートが雑然となることを回避できます。また、チャートシートを使用すると、チャートを詳しく参照する、および印刷する時にページの向きを変更することが可能です。
IWorksheets.Add(SheetType.Chart)メソッドを使用して、ワークブックにチャートシートを作成できます。チャートシートにチャートを追加するには、IShapes.AddChartメソッドを使用します。また、チャートシートにチャートが存在しないと、ファイルを保存する時にエラーが発生することに注意してください。
以下のテーブルに、チャートシートに関連付けられているメソッドとプロパティについて説明します。
メソッドとプロパティ | 説明 |
Add(SheetType.Chart) | IWorksheetsインタフェースのAddメソッドには、SheetTypeのオーバーロードがあります。だから、チャートシートを追加するには、SheetType.Chartを使用する必要があります。 |
AddChart |
IShapesインタフェースのAddChartメソッドは、チャートシートにグラフを追加します。
メモ:各チャートシートにチャートが存在しない場合は、ファイルを保存する時にエラーが発生します。
|
AddShape | IChartインタフェースのAddShapeメソッドは、チャートシートに複数の図形を追加します。サポートされる図形は、チャート、画像、コネクタなどです。また、最初のチャートがメインチャートであり、他の図形がファイルを保存するときに破棄されます。 |
SheetType | IWorksheetインタフェースのSheetTypeプロパティは、アクティブシートのタイプ(ワークシートまたはチャートシート)を取得します。 |
Delete | IShapeインタフェースのDeleteメソッドは、チャートシートからチャートを、またはチャートから図形を削除します。 |
Copy | IWorksheetインタフェースのCopyメソッドは、新しいチャートシートをコピーします。 |
Move | IWorksheetインタフェースのMoveメソッドは、チャートシートを現在のワークブックの新しい場所または新しいワークブックに移動します。 |
チャートシートの操作については、以下のセクションを参照してください。
チャートシートを追加する方法については、次のサンプルコードを参照してください。
C# |
コードのコピー
|
---|---|
public Workbook AddChartSheet() { Workbook workbook = new Workbook(); IWorksheet worksheet = workbook.Worksheets[0]; worksheet.Range["A1:E5"].Value = new object[,] { {"Region", "Q1", "Q2","Q3","Q4"}, {"North", 100, 300, 200, 600}, {"East", 400, 200, 500, 800}, {"South", 300, 500, 100, 400}, {"West", 400, 200, 600, 100}, }; // チャートシートを追加します IWorksheet chartSheet = workbook.Worksheets.Add(SheetType.Chart); // チャートシートにメインチャートを追加します IShape mainChart = chartSheet.Shapes.AddChart(ChartType.ColumnClustered, 100, 100, 200, 200); mainChart.Chart.ChartTitle.Text = "Sales 2018-2019"; mainChart.Chart.SeriesCollection.Add(worksheet.Range["A1:E5"]); // メインチャートに図形を追加します IShape shape = mainChart.Chart.AddShape(AutoShapeType.Rectangle, 50, 20, 100, 100); shape.TextFrame.TextRange.Add("This chart displays the regional quarterly sales for the year 2018-2019"); // ワークブックを保存します workbook.Save("Chartsheet.xlsx"); return workbook; } |
チャートシートをコピーまたは移動する方法については、次のサンプルコードを参照してください。
C# |
コードのコピー
|
---|---|
public void CopyMoveChartSheet() { Workbook workbook = AddChartSheet(); // 新規ワークシートを追加します workbook.Worksheets.Add(SheetType.Worksheet); workbook.Worksheets.Add(SheetType.Worksheet); // チャートシートにアクセスします IWorksheet chartSheet = workbook.Worksheets[1]; // チャートシートをワークブックの末尾に追加して保存します chartSheet.Copy(); workbook.Save("CopyChartsheet.xlsx"); // チャートシートをワークブックの末尾に移動します chartSheet.Move(); workbook.Save("MoveChartsheet.xlsx"); } |
チャートシートを削除する方法については、次のサンプルコードを参照してください。
C# |
コードのコピー
|
---|---|
public void DeleteChartSheet() { Workbook workbook = AddChartSheet(); // チャートシートにアクセスします IWorksheet chartSheet = workbook.Worksheets[1]; // チャートシートを削除します chartSheet.Delete(); // ワークブックを保存します workbook.Save("NoChartsheet.xlsx"); } |