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.