Os poderosos recursos de fórmula do Microsoft Excel são essenciais para realizar cálculos complexos, análise de dados e criar relatórios dinâmicos. Mas e se você pudesse automatizar essas operações de fórmula usando uma biblioteca Java? É aí que o Apache Poi entra em jogo. Nesta postagem do blog, mostraremos como usar a biblioteca Apache POI para calcular as fórmulas do Excel a partir do aplicativo Java e salvar a pasta de trabalho como XLSX File.
Entendendo fórmulas e cálculos
As fórmulas estão no coração da funcionalidade do Excel. Eles permitem que você execute operações matemáticas, manipule dados e crie relacionamentos entre diferentes células. O Apache POI capacita os desenvolvedores Java a gerar e manipular essas fórmulas programaticamente, permitindo automação e personalização.
Configurando seu projeto
Antes de mergulharmos nos detalhes das fórmulas, vamos configurar nosso projeto para trabalhar com o Apache Poi. Você precisará incluir as bibliotecas POI apropriadas no seu projeto Java. Você pode baixar as bibliotecas do site Apache Poi ou adicioná -las através de uma ferramenta de gerenciamento de dependência como Maven ou Gradle. Verifique nosso artigo Apache POI API Visão geral para obter mais informações sobre como configurar o ambiente de desenvolvimento do seu projeto.
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.0.1</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.0.1</version>
</dependency>
Criando fórmulas básicas
Vamos começar com um exemplo simples. Imagine que você tem uma planilha do Excel com duas colunas contendo números. Você deseja calcular a soma desses números em uma terceira coluna. Veja como você pode conseguir isso usando o Apache Poi:
Importe as classes necessárias
Comece importando as classes necessárias da Biblioteca Apache Poi, como pasta de trabalho, folha e linha.
Acesse as células desejadas
Use o método getCell () para acessar as células que contêm os números que você deseja somar.
Crie uma fórmula
Utilize o método cremeFormula () para gerar a fórmula. Nesse caso, será algo como Sum (A2: B2).
Defina a fórmula na célula de destino
Atribua a fórmula à célula onde deseja que o resultado apareça usando o método setCellFormula ().
Avalie a fórmula
Depois de definir a fórmula, use o método avaliarformulacell () para calcular e preencher o resultado.
Excel Fórmulas usando a Biblioteca Apache Poi Java
Vamos dar uma olhada na seguinte amostra de código que usa:
- Adicionar fórmula para adicionar dois valores em uma célula
- Power Fórmula para calcular o poder de um valor em uma célula
- Max fórmula para obter o valor máximo de uma célula
- Fato Fórmula para calcular o fatorial de um valor em uma célula
- fórmula sqrt para calcular a raiz quadrada de um valor em uma célula O exemplo de código a seguir mostra o uso dessas fórmulas do Excel no seu aplicativo Java.
XSSFWorkbook wb = new XSSFWorkbook();
XSSFSheet spreadsheet = wb("formula");
XSSFRow row = spreadsheet.createRow(1);
XSSFCell cell = row.createCell(1);
cell.setCellValue("A = ");
cell = row.createCell(2);
cell.setCellValue(2);
row = spreadsheet.createRow(2);
cell = row.createCell(1);
cell.setCellValue("B = ");
cell = row.createCell(2);
cell.setCellValue(4);
row = spreadsheet.createRow(3);
cell = row.createCell(1);
cell.setCellValue("Total = ");
cell = row.createCell(2);
// Create SUM formula
cell.setCellFormula("SUM(C2:C3)");
cell = row.createCell(3);
cell.setCellValue("SUM(C2:C3)");
row = spreadsheet.createRow(4);
cell = row.createCell(1);
cell.setCellValue("POWER =");
cell=row.createCell(2);
// Create POWER formula
cell.setCellFormula("POWER(C2,C3)");
cell = row.createCell(3);
cell.setCellValue("POWER(C2,C3)");
row = spreadsheet.createRow(5);
cell = row.createCell(1);
cell.setCellValue("MAX = ");
cell = row.createCell(2);
// Create MAX formula
cell.setCellFormula("MAX(C2,C3)");
cell = row.createCell(3);
cell.setCellValue("MAX(C2,C3)");
row = spreadsheet.createRow(6);
cell = row.createCell(1);
cell.setCellValue("FACT = ");
cell = row.createCell(2);
// Create FACT formula
cell.setCellFormula("FACT(C3)");
cell = row.createCell(3);
cell.setCellValue("FACT(C3)");
row = spreadsheet.createRow(7);
cell = row.createCell(1);
cell.setCellValue("SQRT = ");
cell = row.createCell(2);
// Create SQRT formula
cell.setCellFormula("SQRT(C5)");
cell = row.createCell(3);
cell.setCellValue("SQRT(C5)");
wb.getCreationHelper().createFormulaEvaluator().evaluateAll();
FileOutputStream out = new FileOutputStream("formula.xlsx");
wb.write(out);
out.close();
System.out.println("fromula.xlsx written successfully");
Conclusão
O Apache POI desbloqueia o potencial de automatizar e personalizar fórmulas e cálculos do Excel através do código Java. Esteja você criando relatórios financeiros, ferramentas de análise de dados ou qualquer aplicativo que envolva a manipulação do Excel, os recursos de fórmula do Apache Poi são uma adição poderosa ao seu kit de ferramentas. Ao entender como criar, avaliar e gerenciar fórmulas usando o Apache POI, você pode otimizar seus fluxos de trabalho, aprimorar a precisão e economizar tempo valioso.