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 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.

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

Fuente de datos para la tabla dinámica de Excel

Tabla dinámica

crear tabla dinámica en excel en java

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.

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.

Ver también