ピボットテーブルを挿入する

ピボットテーブルの作成

Aspose.Cellsを使用してプログラムでスプレッドシートにピボットテーブルを追加することができます。

ピボットテーブルオブジェクトモデル

Aspose.Cellsには、ピボットテーブルを作成し制御するためのAspose.Cells.Pivot名前空間内の特別なクラスがあります。これらのクラスは、ピボットテーブルの構成要素であるPivotTableオブジェクトを作成および設定するために使用されます。オブジェクトには以下のものがあります:

Aspose.Cellsを使用して簡単なピボットテーブルを作成する

  1. CellオブジェクトのPutValueメソッドを使用してワークシートにデータを追加します。 このデータは、ピボットテーブルのデータソースとして使用されます。
  2. ワークシートにピボットテーブルを追加するために、PivotTablesコレクションのaddメソッドを呼び出します。このメソッドはWorksheetオブジェクトでカプセル化されています。
  3. 新しいPivotTableオブジェクトをPivotTablesコレクションから取得します。このコレクションはPivotTableのインデックスを渡すことでアクセスできます。
  4. ピボットテーブルを管理するために、上記で説明したPivotTableのいずれかを使用します。

例のコードを実行すると、ワークシートにピボットテーブルが追加されます。

// 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);
// Instantiating a Workbook object
Workbook workbook = new Workbook();
// Obtaining the reference of the newly added worksheet
Worksheet sheet = workbook.Worksheets[0];
Cells cells = sheet.Cells;
// Setting the value to the cells
Cell cell = cells["A1"];
cell.PutValue("Sport");
cell = cells["B1"];
cell.PutValue("Quarter");
cell = cells["C1"];
cell.PutValue("Sales");
cell = cells["A2"];
cell.PutValue("Golf");
cell = cells["A3"];
cell.PutValue("Golf");
cell = cells["A4"];
cell.PutValue("Tennis");
cell = cells["A5"];
cell.PutValue("Tennis");
cell = cells["A6"];
cell.PutValue("Tennis");
cell = cells["A7"];
cell.PutValue("Tennis");
cell = cells["A8"];
cell.PutValue("Golf");
cell = cells["B2"];
cell.PutValue("Qtr3");
cell = cells["B3"];
cell.PutValue("Qtr4");
cell = cells["B4"];
cell.PutValue("Qtr3");
cell = cells["B5"];
cell.PutValue("Qtr4");
cell = cells["B6"];
cell.PutValue("Qtr3");
cell = cells["B7"];
cell.PutValue("Qtr4");
cell = cells["B8"];
cell.PutValue("Qtr3");
cell = cells["C2"];
cell.PutValue(1500);
cell = cells["C3"];
cell.PutValue(2000);
cell = cells["C4"];
cell.PutValue(600);
cell = cells["C5"];
cell.PutValue(1500);
cell = cells["C6"];
cell.PutValue(4070);
cell = cells["C7"];
cell.PutValue(5000);
cell = cells["C8"];
cell.PutValue(6430);
Aspose.Cells.Pivot.PivotTableCollection pivotTables = sheet.PivotTables;
// Adding a PivotTable to the worksheet
int index = pivotTables.Add("=A1:C8", "E3", "PivotTable2");
// Accessing the instance of the newly added PivotTable
Aspose.Cells.Pivot.PivotTable pivotTable = pivotTables[index];
// Unshowing grand totals for rows.
pivotTable.RowGrand = false;
// Draging the first field to the row area.
pivotTable.AddFieldToArea(Aspose.Cells.Pivot.PivotFieldType.Row, 0);
// Draging the second field to the column area.
pivotTable.AddFieldToArea(Aspose.Cells.Pivot.PivotFieldType.Column, 1);
// Draging the third field to the data area.
pivotTable.AddFieldToArea(Aspose.Cells.Pivot.PivotFieldType.Data, 2);
// Saving the Excel file
workbook.Save(dataDir + "pivotTable_test_out.xls");

高度なトピック