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.