ピボットグラフは、ピボットテーブルを視覚的に表現したグラフです。ピボットテーブルはデータを要約し、分析のために操作することができますが、ピボットグラフはその要約データを視覚的に表現します。ピボットテーブルのデータが変更されると、ピボットグラフも簡単に更新できるため、レポート作成やデータ分析において欠かせないツールです。本記事では、C# で Spire.XLS for .NET を使用して Excel でピボットグラフを作成する方法を説明します。
Spire.XLS for .NET をインストールします
まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.XLSC# で 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 日間有効な一時ライセンスを取得してください。
 
	    
	  	  





