Les capacités de formule puissantes de Microsoft Excel sont essentielles pour effectuer des calculs complexes, une analyse des données et la création de rapports dynamiques. Mais que se passe-t-il si vous pouviez automatiser ces opérations de formule à l’aide d’une bibliothèque Java? C’est là que Apache Poi entre en jeu. Dans cet article de blog, nous allons montrer comment utiliser la bibliothèque APACH POI pour calculer les formules Excel à partir de votre application Java et enregistrer le classeur en tant que classeur en tant que fichier XLSX]1.

Comprendre les formules et les calculs

Les formules sont au cœur de la fonctionnalité d’Excel. Ils vous permettent d’effectuer des opérations mathématiques, de manipuler des données et de créer des relations entre différentes cellules. Apache POI permet aux développeurs Java de générer et de manipuler ces formules par programme, permettant l’automatisation et la personnalisation.

Configuration de votre projet

Avant de plonger dans les spécificités des formules, créons notre projet pour travailler avec Apache POI. Vous devrez inclure les bibliothèques POI appropriées dans votre projet Java. Vous pouvez télécharger les bibliothèques à partir du site Web d’Apache POI ou les ajouter via un outil de gestion des dépendances comme Maven ou Gradle. Consultez notre article API API API API Article pour plus d’informations sur la mise en place de l’environnement de développement de votre projet.

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

Création de formules de base

Commençons par un exemple simple. Imaginez que vous avez une feuille Excel avec deux colonnes contenant des numéros. Vous souhaitez calculer la somme de ces nombres dans une troisième colonne. Voici comment vous pouvez y parvenir en utilisant Apache POI:

Importer les classes nécessaires

Commencez par importer les classes requises à partir de la bibliothèque Apache POI, telles que le classeur, la feuille et la ligne.

Accédez aux cellules souhaitées

Utilisez la méthode getCell () pour accéder aux cellules contenant les nombres que vous souhaitez résumer.

Créer une formule

Utilisez la méthode CreateFormula () pour générer la formule. Dans ce cas, ce sera quelque chose comme Sum (A2: B2).

Définissez la formule sur la cellule cible

Attribuez la formule à la cellule où vous souhaitez que le résultat apparaisse à l’aide de la méthode SetCellFormula ().

Évaluer la formule

Après avoir réglé la formule, utilisez la méthode EvaluatFormulacell () pour calculer et remplir le résultat.

Formules Excel utilisant la bibliothèque d’Apache Poi Java

Jetons un coup d’œil à l’échantillon de code suivant qui utilise: ***Ajouter la formule pour ajouter deux valeurs dans une cellule

  • Power Formule pour calculer la puissance d’une valeur dans une cellule
  • Formule max pour obtenir la valeur maximale d’une cellule
  • FACT Formule pour calculer la factorielle d’une valeur dans une cellule
  • Formule Sqrt pour calculer la racine carrée d’une valeur dans une cellule L’exemple de code suivant montre l’utilisation de ces formules Excel à partir de votre application 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");

Conclusion

Apache POI débloque le potentiel d’automatiser et de personnaliser les formules et les calculs Excel via le code Java. Que vous créiez des rapports financiers, des outils d’analyse des données ou toute application impliquant une manipulation Excel, les capacités de formule d’Apache POI sont un ajout puissant à votre boîte à outils. En comprenant comment créer, évaluer et gérer les formules à l’aide d’Apache POI, vous pouvez rationaliser vos workflows, améliorer la précision et gagner un temps précieux.