Insertar tabla dinámica
Crear tabla dinámica
Es posible usar Aspose.Cells for Node.js via C++ para agregar tablas dinámicas a hojas de cálculo programáticamente.
Modelo de Objeto de Tabla Dinámica
Aspose.Cells for Node.js via C++ proporciona un conjunto especial de clases que se usan para crear y controlar tablas dinámicas. Estas clases se usan para crear y establecer objetos PivotTable, los bloques de construcción de una tabla dinámica. Los objetos son:
- PivotField representa un campo en un PivotTable.
- PivotFieldCollection representa una colección de todos los objetos PivotField en el PivotTable.
- PivotTable representa una TablaDinámica en una hoja de cálculo.
- PivotTableCollection representa una colección de todos los objetos PivotTable en una hoja de cálculo.
Creación de una tabla dinámica sencilla utilizando Aspose.Cells
- Agregue datos a una hoja de cálculo utilizando el método putValue del objeto Cell. Estos datos se utilizarán como origen de datos de la tabla dinámica.
- Agregue una tabla dinámica a la hoja de cálculo llamando al método add de la colección PivotTables, que está encapsulada en el objeto HojaDeCálculo.
- Acceda al nuevo objeto PivotTable desde la colección PivotTables pasando el índice de la TablaDinámica.
- Utilice alguno de los objetos PivotTable (explicados anteriormente) para gestionar la tabla dinámica.
Después de ejecutar el código de ejemplo, se agrega una tabla dinámica a la hoja de cálculo.
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"); |