ピボットグラフは、ピボットテーブルを視覚的に表現したグラフです。ピボットテーブルはデータを要約し、分析のために操作することができますが、ピボットグラフはその要約データを視覚的に表現します。ピボットテーブルのデータが変更されると、ピボットグラフも簡単に更新できるため、レポート作成やデータ分析において欠かせないツールです。本記事では、C# で Spire.XLS for .NET を使用して Excel でピボットグラフを作成する方法を説明します。 C# で Excel にピボットグラフを作成する ピボットグラフのフィールドボタンを表示・非表示にする C# でピボットグラフの系列をフォーマットする Spire.XLS for .NET をインストールします まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。 PM> Install-Package Spire.XLS C# で Excel にピボットグラフを作成する Spire.XLS for .NET を使用すると、既存のピボットテーブルからピボットグラフを簡単に作成できます。Worksheet.Charts.Add(ExcelChartType pivotChartType, IPivotTable pivotTable) メソッドを使った手順は以下の通りです。 Workbook クラスのオブジェクトを作成します。 Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。 Workbook.Worksheets[index] プロパティを使用して、特定のワークシートを取得します。 Worksheet.PivotTables[index] プロパティを使用して、ワークシート内の特定のピボットテーブルを取得します。 Worksheet.Charts.Add(ExcelChartType pivotChartType, IPivotTable pivotTable) メソッドを使用して、ピボットテーブルを基にしたピボットグラフをワークシートに追加します。 ピボットグラフの位置とタイトルを設定します。 Workbook.SaveToFile() メソッドを使用してブックを保存します。 C# using Spire.Xls; using Spire.Xls.Core; namespace CreatePivotChart { internal class Program { static void Main(string[] args) { // Workbookオブジェクトを作成 Workbook workbook = new Workbook(); // Excelファイルを読み込む workbook.LoadFromFile("Sample.xlsx"); // ワークシートを取得 Worksheet sheet = workbook.Worksheets[1]; // ワークシート内の最初のピボットテーブルを取得 IPivotTable pivotTable = sheet.PivotTables[0]; // ピボットテーブルに基づいて集合縦棒グラフを作成 Chart pivotChart = sheet.Charts.Add(ExcelChartType.ColumnClustered, pivotTable); // グラフの位置を設定 pivotChart.TopRow = 3; pivotChart.LeftColumn = 7; pivotChart.RightColumn = 15; pivotChart.BottomRow = 20; // グラフのタイトルを空に設定 pivotChart.ChartTitle = ""; // 結果のファイルを保存 workbook.SaveToFile("Excelでピボットグラフを作成.xlsx", ExcelVersion.Version2013); workbook.Dispose(); } } } ピボットグラフのフィールドボタンを表示・非表示にする Spire.XLS for .NET を使用すれば、ピボットグラフの外観をカスタマイズするために、さまざまな種類のフィールドボタンを簡単に表示または非表示にできます。制御できるフィールドボタンは以下の通りです。 すべてのフィールドボタン レポートフィルターフィールドボタン 凡例フィールドボタン 軸フィールドボタン 値フィールドボタン 手順は以下の通りです。 Workbook クラスのオブジェクトを作成します。 Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。 Workbook.Worksheets[index] プロパティを使用して、特定のワークシートを取得します。 Worksheet.PivotTables[index] プロパティを使用して、ワークシート内の特定のピボットテーブルを取得します。 Worksheet.Charts.Add(ExcelChartType pivotChartType, IPivotTable pivotTable) メソッドを使用して、ピボットテーブルを基にしたピボットグラフをワークシートに追加します。 ピボットグラフの位置とタイトルを設定します。 Chart.DisplayAxisFieldButtons および Chart.DisplayValueFieldButtons プロパティを使用して、軸フィールドボタンや値フィールドボタンなど特定のフィールドボタンを非表示にします。 Workbook.SaveToFile() メソッドを使用してブックを保存します。 C# using Spire.Xls; using Spire.Xls.Core; namespace ShowOrHideFieldButtons { internal class Program { static void Main(string[] args) { // Workbookオブジェクトを作成 Workbook workbook = new Workbook(); // Excelファイルを読み込む workbook.LoadFromFile("Sample.xlsx"); // ワークシートを取得 Worksheet sheet = workbook.Worksheets[1]; // ワークシート内の最初のピボットテーブルを取得 IPivotTable pivotTable = sheet.PivotTables[0]; // ピボットテーブルに基づいて集合縦棒グラフを作成 Chart pivotChart = sheet.Charts.Add(ExcelChartType.ColumnClustered, pivotTable); // グラフの位置を設定 pivotChart.TopRow = 3; pivotChart.LeftColumn = 7; pivotChart.RightColumn = 15; pivotChart.BottomRow = 20; // グラフのタイトルを空に設定 pivotChart.ChartTitle = ""; // 特定のフィールドボタンを非表示に設定 pivotChart.DisplayAxisFieldButtons = false; // 軸フィールドボタンを非表示 pivotChart.DisplayValueFieldButtons = false; // 値フィールドボタンを非表示 pivotChart.DisplayLegendFieldButtons = false; // 凡例フィールドボタンを非表示 // pivotChart.ShowReportFilterFieldButtons = false; // レポートフィルターフィールドボタンを非表示 // pivotChart.DisplayEntireFieldButtons = false; // すべてのフィールドボタンを非表示 // 結果のファイルを保存 workbook.SaveToFile("Excelのフィールドボタンを隠す.xlsx", ExcelVersion.Version2013); workbook.Dispose(); } } } C# でピボットグラフの系列をフォーマットする Spire.XLS for .NET を使用してピボットテーブルから Excel でピボットグラフを作成する際、グラフの系列は自動生成されません。そのため、系列を手動で追加し、希望する形式にフォーマットする必要があります。手順は以下の通りです。 Workbook クラスのオブジェクトを作成します。 Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。 Workbook.Worksheets[index] プロパティを使用して、特定のワークシートを取得します。 Worksheet.PivotTables[index] プロパティを使用して、ワークシート内の特定のピボットテーブルを取得します。 Worksheet.Charts.Add(ExcelChartType pivotChartType, IPivotTable pivotTable) メソッドを使用して、ピボットテーブルを基にしたピボットグラフをワークシートに追加します。 ピボットグラフの位置とタイトルを設定します。 Chart.Series.Add() メソッドを使用して系列をグラフに追加し、その系列に希望のフォーマットを適用します。 Workbook.SaveToFile() メソッドを使用してブックを保存します。 C# using Spire.Xls; using Spire.Xls.Charts; using Spire.Xls.Core; namespace FormatChartSeries { internal class Program { static void Main(string[] args) { // Workbookオブジェクトを作成 Workbook workbook = new Workbook(); // Excelファイルを読み込む workbook.LoadFromFile("Sample.xlsx"); // ワークシートを取得 Worksheet sheet = workbook.Worksheets[1]; // ワークシート内の最初のピボットテーブルを取得 IPivotTable pivotTable = sheet.PivotTables[0]; // ピボットテーブルに基づいて集合縦棒グラフを作成 Chart pivotChart = sheet.Charts.Add(ExcelChartType.ColumnClustered, pivotTable); // グラフの位置を設定 pivotChart.TopRow = 3; pivotChart.LeftColumn = 7; pivotChart.RightColumn = 15; pivotChart.BottomRow = 20; // グラフのタイトルを空に設定 pivotChart.ChartTitle = ""; // グラフ系列を追加 ChartSerie series = pivotChart.Series.Add(ExcelChartType.ColumnClustered); // 棒の幅を設定 series.GetCommonSerieFormat().GapWidth = 10; // 棒の重なりを設定(以下の行を有効化することで設定可能) // series.GetCommonSerieFormat().Overlap = 100; // 結果のファイルを保存 workbook.SaveToFile("Excelのグラフシリーズの書式設定.xlsx", ExcelVersion.Version2013); workbook.Dispose(); } } } 一時ライセンスを申請する 結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 にお問い合わせ、30 日間有効な一時ライセンスを取得してください。