Las tablas dinámicas en las hojas de cálculo de Excel se utilizan para resumir los datos de forma interactiva. Supongamos que tiene los datos de varias facturas en una hoja de trabajo. En ese caso, puede usar una tabla dinámica para totalizar las facturas agrupadas por clientes o productos. En este artículo, aprenderá cómo manejar tablas dinámicas en Excel mediante programación. En particular, llegará a saber cómo crear una tabla dinámica en Excel usando Java. Además, también generaremos gráficos basados en la tabla dinámica.
- API de Java para trabajar con tablas dinámicas de Excel
- Crear una tabla dinámica en Excel
- Generar gráfico usando una tabla dinámica
- Obtenga una licencia de API gratuita
API de Java para crear tablas dinámicas en Excel
Para crear una tabla dinámica de Excel, usaremos Aspose.Cells for Java. Es una potente API que le permite generar, modificar y convertir archivos de Excel desde sus aplicaciones Java. Puede descargar la API o instalarla usando las siguientes configuraciones de Maven.
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-cells</artifactId>
<version>21.4</version>
</dependency>
Crear una tabla dinámica en Excel usando Java
Los siguientes son los pasos para crear una tabla dinámica en Excel usando Java.
- Cree un archivo de Excel nuevo o cargue uno existente usando la clase Workbook.
- Rellene la hoja de cálculo con datos (opcional).
- Obtenga una colección de tablas dinámicas en un objeto PivotTableCollection usando el método Worksheet.getPivotTables().
- Agregue una nueva tabla dinámica usando el método PivotTableCollection.add(string, string, string) y obtenga su referencia en un objeto PivotTable.
- Establezca opciones como total general, formato, etc.
- Agregue campos al área usando el método PivotTable.addFieldToArea(int, int).
- Guarde el Workbook usando el método Workbook.save(string).
El siguiente ejemplo de código muestra cómo agregar una tabla dinámica en Excel.
// Crear una instancia de un objeto Workbook
Workbook workbook = new Workbook("worksheet.xlsx");
// Accede a la ficha
Worksheet sheet2 = workbook.getWorksheets().get(1);
// Obtenga la colección de tablas dinámicas en la hoja
PivotTableCollection pivotTables = sheet2.getPivotTables();
// Agregar una tabla dinámica a la hoja de trabajo
int index = pivotTables.add("=Data!A1:F30", "B3", "PivotTable1");
// Acceda a la instancia de la tabla dinámica recién agregada
PivotTable pivotTable = pivotTables.get(index);
// Mostrar los totales generales
pivotTable.setRowGrand(true);
pivotTable.setColumnGrand(true);
// Establecer que el informe de tabla dinámica se formatea automáticamente
pivotTable.setAutoFormat(true);
// Establezca el tipo de formato automático de la tabla dinámica.
pivotTable.setAutoFormatType(PivotTableAutoFormatType.REPORT_6);
// Arrastre el primer campo al área de la fila.
pivotTable.addFieldToArea(PivotFieldType.ROW, 0);
// Arrastre el tercer campo al área de la fila.
pivotTable.addFieldToArea(PivotFieldType.ROW, 2);
// Arrastre el segundo campo al área de la fila.
pivotTable.addFieldToArea(PivotFieldType.ROW, 1);
// Arrastre el cuarto campo al área de la columna.
pivotTable.addFieldToArea(PivotFieldType.COLUMN, 3);
// Arrastre el quinto campo al área de datos.
pivotTable.addFieldToArea(PivotFieldType.DATA, 5);
// Establecer el formato de número del primer campo de datos
pivotTable.getDataFields().get(0).setNumber(7);
// Guarde el archivo de Excel
workbook.save("pivotTable.xls");
Datos de Excel
Tabla dinámica
Genere un gráfico usando tablas dinámicas de Excel en Java
Los siguientes son los pasos para generar un gráfico utilizando tablas dinámicas de Excel en Java.
- Cree un nuevo archivo de Excel o cargue uno existente usando la clase Workbook.
- Rellene la hoja de trabajo (opcional).
- Agregue una nueva hoja de trabajo de tipo gráfico usando Workbook.getWorksheets().add(SheetType.CHART) y obtenga su referencia en un objeto Worksheet.
- Agregue un nuevo gráfico usando el método Worksheet.getCharts().add() y obtenga su referencia en un objeto Chart.
- Establezca la tabla dinámica como la fuente de datos del gráfico utilizando el método Chart.setPivotSource(string).
- Guarde el Workbook usando el método Workbook.save(string).
El siguiente ejemplo de código muestra cómo generar un gráfico usando una tabla dinámica de Excel.
// Crear una instancia de un objeto Workbook
Workbook workbook = new Workbook("pivotTable.xls");
// Agregar una nueva hoja
int sheetIndex = workbook.getWorksheets().add(SheetType.CHART);
Worksheet sheet3 = workbook.getWorksheets().get(sheetIndex);
// Nombra la hoja
sheet3.setName("PivotChart");
// Añadir un gráfico de columnas
int chartIndex = sheet3.getCharts().add(ChartType.COLUMN, 0, 5, 28, 16);
Chart chart = sheet3.getCharts().get(chartIndex);
// Establecer la fuente de datos del gráfico dinámico
chart.setPivotSource("PivotTable!PivotTable1");
chart.setHidePivotFieldButtons(false);
// Guarde el archivo de Excel
workbook.save("pivotChart_test.xls");
Obtenga una licencia de API gratuita
Puede obtener una licencia temporal gratuita para usar la API sin limitaciones de evaluación.
Conclusión
En este artículo, ha aprendido a crear una tabla dinámica en Excel usando Java. Además, ha visto cómo generar gráficos usando las tablas dinámicas en Excel. Puede explorar más sobre la API de Java Excel usando documentación. En caso de que tenga alguna pregunta, no dude en hacérnosla saber a través de nuestro foro.