Apache POI - Formel
Dieses Kapitel führt Sie durch den Prozess der Anwendung verschiedener Formeln auf Zellen mithilfe der Java-Programmierung. Der Hauptzweck der Excel-Anwendung besteht darin, numerische Daten durch Anwenden von Formeln zu verwalten.
In einer Formel übergeben wir dynamische Werte oder Positionen der Werte in der Excel-Tabelle. Wenn Sie diese Formel ausführen, erhalten Sie das gewünschte Ergebnis. In der folgenden Tabelle sind einige grundlegende Formeln aufgeführt, die in Excel häufig verwendet werden.
Operation | Syntax |
---|---|
Mehrere Zahlen hinzufügen | = SUMME (Loc1: Locn) or = SUMME (n1, n2,) |
Anzahl | = COUNT (Loc1: Locn) or = COUNT (n1, n2,) |
Potenz zweier Zahlen | = POWER (Loc1, Loc2) or = LEISTUNG (Anzahl, Leistung) |
Maximal mehrere Zahlen | = MAX (Loc1: Locn) or = MAX (n1, n2,) |
Produkt | = PRODUKT (Loc1: Locn) or = PRODUKT (n1, n2,) |
Fakultät | = FAKT (Locn) or = FAKT (Nummer) |
Absolute Zahl | = ABS (Locn) or = ABS (Nummer) |
Heutiges Datum | = HEUTE () |
Konvertiert Kleinbuchstaben | = UNTER (Locn) or = UNTER (Text) |
Quadratwurzel | = SQRT (locn) or = SQRT (Nummer) |
Der folgende Code wird verwendet, um einer Zelle Formeln hinzuzufügen und auszuführen.
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");
}
}
Speichern Sie den obigen Code als Formula.java und kompilieren Sie es dann und führen Sie es an der Eingabeaufforderung wie folgt aus.
$javac Formula.java
$java Formula
Es wird eine Excel-Datei mit dem Namen generiert formula.xlsx in Ihrem aktuellen Verzeichnis und zeigen Sie die folgende Ausgabe an der Eingabeaufforderung an.
fromula.xlsx written successfully
Das formula.xlsx Datei sieht wie folgt aus.