Die leistungsstarken Formel -Funktionen von Microsoft Excel sind für die Durchführung komplexer Berechnungen, die Datenanalyse und die Erstellung dynamischer Berichte von wesentlicher Bedeutung. Aber was wäre, wenn Sie diese formelhaften Vorgänge mit einer Java -Bibliothek automatisieren könnten? Hier kommt Apache Poi ins Spiel. In diesem Blog -Beitrag zeigen wir, wie Sie die Apache -POI -Bibliothek verwenden, um Excel -Formeln aus Ihrer Java -Anwendung zu berechnen und die Arbeitsmappe als XLSX -Datei zu speichern.

Formeln und Berechnungen verstehen

Formeln stehen im Mittelpunkt der Funktionalität von Excel. Sie ermöglichen es Ihnen, mathematische Operationen auszuführen, Daten zu manipulieren und Beziehungen zwischen verschiedenen Zellen aufzubauen. Apache POI ermöglicht Java -Entwickler, diese Formeln programmatisch zu generieren und zu manipulieren, wodurch Automatisierung und Anpassung ermöglicht werden.

Einrichten Ihres Projekts

Bevor wir uns mit den Einzelheiten der Formeln eintauchen, lassen Sie unser Projekt so einrichten, dass sie mit Apache POI arbeiten. Sie müssen die entsprechenden POI -Bibliotheken in Ihr Java -Projekt aufnehmen. Sie können die Bibliotheken von der Apache POI -Website herunterladen oder über ein Abhängigkeitsmanagement -Tool wie Maven oder Gradle hinzufügen. Weitere Informationen zum Einrichten der Entwicklungsumgebung für Ihr Projekt finden Sie in unserem Artikel Apache POI API.

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

Erstellen grundlegender Formeln

Beginnen wir mit einem einfachen Beispiel. Stellen Sie sich vor, Sie haben ein Excel -Blatt mit zwei Spalten mit Zahlen. Sie möchten die Summe dieser Zahlen in einer dritten Spalte berechnen. So können Sie dies mit Apache POI erreichen:

Importieren Sie die erforderlichen Klassen

Importieren Sie zunächst die erforderlichen Klassen aus der Apache -POI -Bibliothek wie Arbeitsbuch, Blatt und Zeile.

Zugriff auf die gewünschten Zellen

Verwenden Sie die GetCell () -Methode, um auf die Zellen zuzugreifen, die die Zahlen enthalten, die Sie summieren möchten.

Erstellen einer Formel

Verwenden Sie die Methode createFormula (), um die Formel zu generieren. In diesem Fall wird es so etwas wie Summe sein (A2: B2).

Legen Sie die Formel auf die Zielzelle {.wp-Block-Heading} fest

Weisen Sie die Formel der Zelle zu, in der das Ergebnis mit der Methode setCellFormula () angezeigt werden soll.

Bewerten Sie die Formel

Verwenden Sie nach Einstellung der Formel die Methode evaluateformulacell () , um das Ergebnis zu berechnen und zu füllen.

Excel-Formeln mit Apache POI Java Library

Schauen wir uns das folgende Code -Beispiel an, der verwendet:

  • Fügen Sie Formel hinzu, um zwei Werte in einer Zelle hinzuzufügen
  • Power Formel zur Berechnung der Leistung eines Wertes in einer Zelle
  • max Formel, um den Maximalwert einer Zelle zu erhalten
  • Fakt Formel zur Berechnung der Faktorial eines Wertes in einer Zelle
  • sqrt Formel zur Berechnung der Quadratwurzel eines Wertes in einer Zelle Das folgende Code -Beispiel zeigt die Verwendung dieser Excel -Formeln aus Ihrer Java -Anwendung.
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");

Schlussfolgerung

Apache POI entsperren das Potenzial, Excel -Formeln und -berechnungen über den Java -Code zu automatisieren und anzupassen. Unabhängig davon, ob Sie Finanzberichte, Datenanalyse -Tools oder eine Anwendung erstellen, die Excel -Manipulation umfasst, sind die Formel -Funktionen von Apache POI eine leistungsstarke Ergänzung Ihres Toolkits. Wenn Sie verstehen, wie Formeln mit Apache -POI erstellt, bewertet und verwaltet werden, können Sie Ihre Workflows optimieren, die Genauigkeit verbessern und wertvolle Zeit sparen.