Crear tabla dinámica
Crear tabla dinámica
Crear tabla dinámica utilizando Aspose.Cells
Con Aspose.Cells, es posible agregar tablas dinámicas a las hojas de cálculo. Aspose.Cells cuenta con varias clases especiales utilizadas específicamente para crear y controlar tablas dinámicas. Estas clases se utilizan para crear y establecer las propiedades de un objeto PivotTable, utilizado como los bloques de construcción de la tabla dinámica.
Los objetos de tabla dinámica son:
- PivotField: representa un campo en una tabla dinámica.
- PivotFieldCollection: representa una colección de todos los objetos PivotField en la tabla dinámica.
- PivotTable: representa una tabla dinámica.
- PivotTableCollection: representa la colección de todos los objetos de tabla dinámica en la hoja de cálculo.
Crear una tabla dinámica simple
Para crear una tabla dinámica utilizando Aspose.Cells, siga los pasos a continuación:
- Agregue algunos datos a las celdas de la hoja de cálculo utilizando el método setValue del objeto Cell. Estos datos se utilizarán como origen de datos para la tabla dinámica.
- Agregue una tabla dinámica a la hoja de cálculo llamando al método add de la clase PivotTableCollection, encapsulada en el objeto Worksheet.
- Acceda al objeto PivotTable desde el PivotTableCollection pasando el índice PivotTable.
- Utilice cualquiera de los objetos de tabla dinámica (explicados anteriormente) encapsulados en el objeto PivotTable para gestionar la tabla dinámica.
El ejemplo de código a continuación muestra cómo crear una tabla dinámica simple siguiendo los pasos básicos enumerados anteriormente. Al ejecutar el código, se agrega una tabla dinámica a la hoja de cálculo:
Creando una tabla dinámica basada en un campo correspondiente
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the resource directory | |
String dataDir = Utils.getSharedDataDir(CreatePivotTable.class) + "PivotTables/"; | |
//Instantiating a Workbook object | |
Workbook workbook = new Workbook(); | |
//Obtaining the reference of the newly added worksheet | |
int sheetIndex = workbook.getWorksheets().add(); | |
Worksheet sheet = workbook.getWorksheets().get(sheetIndex); | |
Cells cells = sheet.getCells(); | |
//Setting the value to the cells | |
Cell 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); | |
PivotTableCollection pivotTables = sheet.getPivotTables(); | |
//Adding a PivotTable to the worksheet | |
int index = pivotTables.add("=A1:C8", "E3", "PivotTable2"); | |
//Accessing the instance of the newly added PivotTable | |
PivotTable pivotTable = pivotTables.get(index); | |
//Unshowing grand totals for rows. | |
pivotTable.setRowGrand(false); | |
//Dragging the first field to the row area. | |
pivotTable.addFieldToArea(PivotFieldType.ROW, 0); | |
//Dragging the second field to the column area. | |
pivotTable.addFieldToArea(PivotFieldType.COLUMN, 1); | |
//Dragging the third field to the data area. | |
pivotTable.addFieldToArea(PivotFieldType.DATA, 2); | |
//Saving the Excel file | |
workbook.save(dataDir + "CreatePivotTable_out.xls"); |