Apache POI - Formule

Ce chapitre vous présente le processus d'application de différentes formules sur des cellules à l'aide de la programmation Java. L'objectif de base de l'application Excel est de conserver les données numériques en appliquant des formules dessus.

Dans une formule, nous transmettons des valeurs dynamiques ou des emplacements des valeurs dans la feuille Excel. En exécutant cette formule, vous obtenez le résultat souhaité. Le tableau suivant répertorie quelques formules de base fréquemment utilisées dans Excel.

Opération Syntaxe
Ajouter plusieurs numéros = SOMME (Loc1: Locn) or = SOMME (n1, n2,)
Compter = COUNT (Loc1: Locn) or = COUNT (n1, n2,)
Puissance de deux nombres = PUISSANCE (Loc1, Loc2) or = PUISSANCE (nombre, puissance)
Max de plusieurs nombres = MAX (Loc1: Locn) or = MAX (n1, n2,)
Produit = PRODUIT (Loc1: Locn) or = PRODUIT (n1, n2,)
Factorielle = FAIT (Locn) or = FAIT (nombre)
Nombre absolu = ABS (Locn) or = ABS (nombre)
La date d'aujourd'hui = AUJOURD'HUI ()
Convertit les minuscules = INFÉRIEUR (Locn) or = INFÉRIEUR (texte)
Racine carrée = SQRT (locn) or = SQRT (nombre)

Le code suivant est utilisé pour ajouter des formules à une cellule et l'exécuter.

import java.io.File;
import java.io.FileOutputStream;

import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class Formula {
   public static void main(String[] args)throws Exception {
      XSSFWorkbook workbook = new XSSFWorkbook(); 
      XSSFSheet spreadsheet = workbook.createSheet("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.setCellType(XSSFCell.CELL_TYPE_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.setCellType(XSSFCell.CELL_TYPE_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.setCellType(XSSFCell.CELL_TYPE_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.setCellType(XSSFCell.CELL_TYPE_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.setCellType(XSSFCell.CELL_TYPE_FORMULA);
      cell.setCellFormula("SQRT(C5)");
      cell = row.createCell(3);
      cell.setCellValue("SQRT(C5)");
      workbook.getCreationHelper().createFormulaEvaluator().evaluateAll();
      FileOutputStream out = new FileOutputStream(new File("formula.xlsx"));
      workbook.write(out);
      out.close();
      System.out.println("fromula.xlsx written successfully");
   }
}

Enregistrez le code ci-dessus sous Formula.java puis compilez et exécutez-le à partir de l'invite de commande comme suit.

$javac Formula.java
$java Formula

Il générera un fichier Excel nommé formula.xlsx dans votre répertoire actuel et affichez la sortie suivante sur l'invite de commande.

fromula.xlsx written successfully

le formula.xlsx Le fichier se présente comme suit.