Insert Pivot Table
Create Pivot Table
It is possible to use Aspose.Cells for Node.js via C++ to add pivot tables to spreadsheets programmatically.
Pivot Table Object Model
Aspose.Cells for Node.js via C++ provides a special set of classes that are used to create and control pivot tables. These classes are used to create and set PivotTable objects, the building blocks of a pivot table. The objects are:
- PivotField represents a field in a PivotTable.
- PivotFieldCollection represents a collection of all the PivotField objects in the PivotTable.
- PivotTable represents a PivotTable on a worksheet.
- PivotTableCollection represents a collection of all the PivotTable objects on a worksheet.
Creating a Simple Pivot Table Using Aspose.Cells
- Add data to a worksheet using the Cell object’s putValue method. This data will be used as the pivot table’s data source.
- Add a pivot table to the worksheet by calling the PivotTables collection’s add method, which is encapsulated in the Worksheet object.
- Access the new PivotTable object from the PivotTables collection by passing the PivotTable index.
- Use any of the PivotTable objects (explained above) to manage the pivot table.
After executing the example code, a pivot table is added to the worksheet.
const AsposeCells = require("aspose.cells.node"); | |
//Instantiating a Workbook object | |
var workbook = new AsposeCells.Workbook(); | |
//Obtaining the reference of the newly added worksheet | |
var sheetIndex = workbook.getWorksheets().add(); | |
var sheet = workbook.getWorksheets().get(sheetIndex); | |
var cells = sheet.getCells(); | |
//Setting the value to the cells | |
var cell = cells.get("A1"); | |
cell.setValue("Sport"); | |
cell = cells.get("B1"); | |
cell.setValue("Quarter"); | |
cell = cells.get("C1"); | |
cell.setValue("Sales"); | |
cell = cells.get("A2"); | |
cell.setValue("Golf"); | |
cell = cells.get("A3"); | |
cell.setValue("Golf"); | |
cell = cells.get("A4"); | |
cell.setValue("Tennis"); | |
cell = cells.get("A5"); | |
cell.setValue("Tennis"); | |
cell = cells.get("A6"); | |
cell.setValue("Tennis"); | |
cell = cells.get("A7"); | |
cell.setValue("Tennis"); | |
cell = cells.get("A8"); | |
cell.setValue("Golf"); | |
cell = cells.get("B2"); | |
cell.setValue("Qtr3"); | |
cell = cells.get("B3"); | |
cell.setValue("Qtr4"); | |
cell = cells.get("B4"); | |
cell.setValue("Qtr3"); | |
cell = cells.get("B5"); | |
cell.setValue("Qtr4"); | |
cell = cells.get("B6"); | |
cell.setValue("Qtr3"); | |
cell = cells.get("B7"); | |
cell.setValue("Qtr4"); | |
cell = cells.get("B8"); | |
cell.setValue("Qtr3"); | |
cell = cells.get("C2"); | |
cell.setValue(1500); | |
cell = cells.get("C3"); | |
cell.setValue(2000); | |
cell = cells.get("C4"); | |
cell.setValue(600); | |
cell = cells.get("C5"); | |
cell.setValue(1500); | |
cell = cells.get("C6"); | |
cell.setValue(4070); | |
cell = cells.get("C7"); | |
cell.setValue(5000); | |
cell = cells.get("C8"); | |
cell.setValue(6430); | |
var pivotTables = sheet.getPivotTables(); | |
//Adding a PivotTable to the worksheet | |
var index = pivotTables.add("=A1:C8", "E3", "PivotTable2"); | |
//Accessing the instance of the newly added PivotTable | |
var pivotTable = pivotTables.get(index); | |
//Unshowing grand totals for rows. | |
pivotTable.setRowGrand(false); | |
//Dragging the first field to the row area. | |
pivotTable.addFieldToArea(AsposeCells.PivotFieldType.Row, 0); | |
//Dragging the second field to the column area. | |
pivotTable.addFieldToArea(AsposeCells.PivotFieldType.Column, 1); | |
//Dragging the third field to the data area. | |
pivotTable.addFieldToArea(AsposeCells.PivotFieldType.Data, 2); | |
//Saving the Excel file | |
workbook.save("CreatePivotTable_out.xlsx"); |