ピボットテーブルとソースデータ

Pivot Tableのソースデータ

デザイン時にはわからない異なるデータソース(たとえばデータベースなど)からデータを取るピボットテーブルを作成したいときがあります。この記事では、ピボットテーブルのデータソースを動的に変更するアプローチについて説明します。

ピボットテーブルのデータソースを変更する

  1. 新しいデザイナーテンプレートを作成します。
    1. 以下のスクリーンショットに示すように、新しいデザイナーテンプレートファイルを作成します。

    2. その後、DataSourceという名前の範囲を定義します。この範囲はこれらのセルの範囲を参照します。

      デザイナーテンプレートの作成と名前付き範囲の定義、DataSource

todo:image_alt_text

  1. この名前付き範囲に基づいてPivot Tableを作成します。
    1. Microsoft Excelでデータピボットテーブルピボットテーブルおよびピボットチャートレポートを選択します。

    2. 最初のステップで作成した名前付き範囲に基づいてピボットテーブルを作成します。

      DataSourceに基づいてピボットテーブルを作成する

todo:image_alt_text

  1. 対応するフィールドをピボットテーブルの行と列にドラッグし、スクリーンショットに示されているような結果のピボットテーブルを作成します。

対応するフィールドに基づいてピボットテーブルを作成する

todo:image_alt_text

設計したピボットテーブルが以下に示されています。

  1. データオプションの設定で開くときに更新をチェックします。

    ピボットテーブルオプションの設定

todo:image_alt_text

これで、このファイルをデザイナーテンプレートファイルとして保存できます。

  1. 新しいデータを埋め込んでピボットテーブルのソースデータを変更します。
    1. デザイナーテンプレートが作成されたら、次のコードを使用してピボットテーブルのソースデータを変更します。

以下のコード例を実行すると、ピボットテーブルのソースデータが変更されます。

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
string InputPath = dataDir + "Book1.xlsx";
// Creating a file stream containing the Excel file to be opened
FileStream fstream = new FileStream(InputPath, FileMode.Open);
// Opening the Excel file through the file stream
Workbook workbook = new Workbook(fstream);
// Accessing the first worksheet in the Excel file
Worksheet worksheet = workbook.Worksheets[0];
// Populating new data to the worksheet cells
worksheet.Cells["A9"].PutValue("Golf");
worksheet.Cells["B9"].PutValue("Qtr4");
worksheet.Cells["C9"].PutValue(7000);
// Changing named range "DataSource"
Range range = worksheet.Cells.CreateRange(0, 0, 9, 3);
range.Name = "DataSource";
// Saving the modified Excel file
workbook.Save(dataDir + "output.xls");
// Closing the file stream to free all resources
fstream.Close();