ピボットグラフは、ピボットテーブルを視覚的に表現したグラフです。ピボットテーブルはデータを要約し、分析のために操作することができますが、ピボットグラフはその要約データを視覚的に表現します。ピボットテーブルのデータが変更されると、ピボットグラフも簡単に更新できるため、レポート作成やデータ分析において欠かせないツールです。本記事では、C# で Spire.XLS for .NET を使用して Excel でピボットグラフを作成する方法を説明します。
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 日間有効な一時ライセンスを取得してください。