As tabelas dinâmicas em planilhas do Excel são usadas para resumir os dados de forma interativa. Suponha que você tenha os dados de várias faturas em uma planilha. Nesse caso, você pode usar uma tabela dinâmica para totalizar as faturas agrupadas por clientes ou produtos. Neste artigo, você aprenderá a lidar com tabelas dinâmicas no Excel programaticamente. Particularmente, você saberá como criar uma tabela dinâmica no Excel usando Java. Além disso, também geraremos gráficos com base na tabela dinâmica.

API Java para criar tabela dinâmica no Excel

Para criar a tabela dinâmica do Excel, usaremos Aspose.Cells for Java. É uma API poderosa que permite gerar, modificar e converter arquivos Excel de dentro de seus aplicativos Java. Você pode baixar a API ou instalá-la usando as seguintes configurações do 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>

Criar uma tabela dinâmica no Excel usando Java

A seguir estão as etapas para criar uma tabela dinâmica no Excel usando Java.

O exemplo de código a seguir mostra como adicionar uma tabela dinâmica no Excel.

// Instanciar um objeto Workbook
Workbook workbook = new Workbook("worksheet.xlsx");

// Acesse a planilha
Worksheet sheet2 = workbook.getWorksheets().get(1);

// Obter a coleção de tabelas dinâmicas na planilha
PivotTableCollection pivotTables = sheet2.getPivotTables();

// Adicionar uma tabela dinâmica à planilha
int index = pivotTables.add("=Data!A1:F30", "B3", "PivotTable1");

// Acesse a instância da tabela dinâmica recém-adicionada
PivotTable pivotTable = pivotTables.get(index);

// Mostrar os totais gerais
pivotTable.setRowGrand(true);
pivotTable.setColumnGrand(true);

// Definir o relatório de tabela dinâmica é formatado automaticamente
pivotTable.setAutoFormat(true);

// Defina o tipo de formatação automática de tabela dinâmica.
pivotTable.setAutoFormatType(PivotTableAutoFormatType.REPORT_6);

// Arraste o primeiro campo para a área da linha.
pivotTable.addFieldToArea(PivotFieldType.ROW, 0);

// Arraste o terceiro campo para a área da linha.
pivotTable.addFieldToArea(PivotFieldType.ROW, 2);

// Arraste o segundo campo para a área da linha.
pivotTable.addFieldToArea(PivotFieldType.ROW, 1);

// Arraste o quarto campo para a área da coluna.
pivotTable.addFieldToArea(PivotFieldType.COLUMN, 3);

// Arraste o quinto campo para a área de dados.
pivotTable.addFieldToArea(PivotFieldType.DATA, 5);

// Defina o formato de número do primeiro campo de dados
pivotTable.getDataFields().get(0).setNumber(7);

// Salve o arquivo Excel
workbook.save("pivotTable.xls");

Dados do Excel

Fonte de dados para tabela dinâmica do Excel

Tabela Dinâmica

criar tabela dinâmica no excel em java

Gerar um gráfico usando tabelas dinâmicas do Excel em Java

A seguir estão as etapas para gerar um gráfico usando tabelas dinâmicas do Excel em Java.

O exemplo de código a seguir mostra como gerar um gráfico usando uma tabela dinâmica do Excel.

 // Instanciar um objeto Workbook
 Workbook workbook = new Workbook("pivotTable.xls");
 
 // Adicionar uma nova planilha
 int sheetIndex = workbook.getWorksheets().add(SheetType.CHART);
 Worksheet sheet3 = workbook.getWorksheets().get(sheetIndex);
 
 // Nomeie a folha
 sheet3.setName("PivotChart");
 
 // Adicionar um gráfico de colunas
 int chartIndex = sheet3.getCharts().add(ChartType.COLUMN, 0, 5, 28, 16);
 Chart chart = sheet3.getCharts().get(chartIndex);
 
 // Definir a fonte de dados do gráfico dinâmico
 chart.setPivotSource("PivotTable!PivotTable1");
 chart.setHidePivotFieldButtons(false);
 
 // Salve o arquivo Excel
 workbook.save("pivotChart_test.xls");

Obtenha uma licença de API gratuita

Você pode obter uma licença temporária gratuita para usar a API sem limitações de avaliação.

Conclusão

Neste artigo, você aprendeu como criar uma tabela dinâmica no Excel usando Java. Além disso, você viu como gerar gráficos usando as tabelas dinâmicas no Excel. Você pode explorar mais sobre a API Java Excel usando documentação. Caso você tenha alguma dúvida, sinta-se à vontade para nos informar através do nosso fórum.

Veja também