Java fügt Excel-Formeln hinzu und liest sie

Bei der Berechnung und Verarbeitung von Daten in Excel-Tabellen verwenden wir häufig verschiedene Excel-Funktionsausdrücke, um die Arbeitseffizienz zu verbessern. In diesem Artikel werde ich Ihnen zeigen, wie Sie mit Free Spire.XLS für Java Formeln zu Excel-Zellen hinzufügen und die Formeln in den Zellen lesen können.

** JAR-Paket importieren ** ** Methode 1: ** Nach dem Herunterladen und Entpacken von Free Spire.XLS für Java im Ordner lib Importieren Sie das Spire.Xls.jar-Paket als Abhängigkeit in Ihre Java-Anwendung.

** Methode 2: ** Konfigurieren Sie die Datei pom.xml nach der Installation des JAR-Pakets direkt aus dem Maven-Repository wie folgt:

<repositories>
        <repository>
            <id>com.e-iceblue</id>
            <name>e-iceblue</name>
            <url>http://repo.e-iceblue.com/nexus/content/groups/public/</url>
        </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.xls.free</artifactId>
        <version>2.2.0</version>
    </dependency>
</dependencies>

** Formel hinzufügen **

import com.spire.xls.*;

public class InsertFormulas {

    public static void main(String[] args) {

        //Erstellen Sie ein Arbeitsmappenobjekt
        Workbook workbook = new Workbook();

        //Holen Sie sich das erste Arbeitsblatt
        Worksheet sheet = workbook.getWorksheets().get(0);

        //Deklarieren Sie zwei Variablen
        int currentRow = 1;
        String currentFormula = null;

        //Stellen Sie die Breite der Spalte ein
        sheet.setColumnWidth(1, 26);
        sheet.setColumnWidth(2, 16);

        //Schreiben Sie Testdaten in Zellen
        sheet.getCellRange(currentRow,1).setValue("Testen Sie die Daten:");
        sheet.getCellRange(currentRow,2).setNumberValue(1);
        sheet.getCellRange(currentRow,3).setNumberValue(2);
        sheet.getCellRange(currentRow,4).setNumberValue(3);
        sheet.getCellRange(currentRow,5).setNumberValue(4);
        sheet.getCellRange(currentRow,6).setNumberValue(5);

        //Schreiben Sie in Text
        currentRow += 2;
        sheet.getCellRange(currentRow,1).setValue("Gleichung:") ; ;
        sheet.getCellRange(currentRow,2).setValue("Ergebnis:");

        //Formatieren Sie die Zelle
        CellRange range = sheet.getCellRange(currentRow,1,currentRow,2);
        range.getStyle().getFont().isBold(true);
        range.getStyle().setKnownColor(ExcelColors.LightGreen1);
        range.getStyle().setFillPattern(ExcelPatternType.Solid);
        range.getStyle().getBorders().getByBordersLineType(BordersLineType.EdgeBottom).setLineStyle(LineStyleType.Medium);

        //Arithmetik
        currentFormula = "=1/2+3*4";
        sheet.getCellRange(++currentRow,1).setText(currentFormula);
        sheet.getCellRange(currentRow,2).setFormula(currentFormula);

        //Datumsfunktion
        currentFormula = "=TODAY()";
        sheet.getCellRange(++currentRow,1).setText(currentFormula);
        sheet.getCellRange(currentRow,2).setFormula(currentFormula);
        sheet.getCellRange(currentRow,2).getStyle().setNumberFormat("YYYY/MM/DD");

        //Zeitfunktion
        currentFormula = "=NOW()";
        sheet.getCellRange(++currentRow,1).setText(currentFormula);
        sheet.getCellRange(currentRow,2).setFormula(currentFormula);
        sheet.getCellRange(currentRow,2).getStyle().setNumberFormat("H:MM AM/PM");

        //IF-Funktion
        currentFormula = "=IF(B1=5,\"Yes\",\"No\")";
        sheet.getCellRange(++currentRow,1).setText(currentFormula);
        sheet.getCellRange(currentRow,2).setFormula(currentFormula);

        //PI-Funktion
        currentFormula = "=PI()";
        sheet.getCellRange(++currentRow,1).setText(currentFormula);
        sheet.getCellRange(currentRow,2).setFormula(currentFormula);

        //Trigonometrische Funktion
        currentFormula = "=SIN(PI()/6)";
        sheet.getCellRange(++currentRow,1).setText(currentFormula);
        sheet.getCellRange(currentRow,2).setFormula(currentFormula);

        //COUNT-Funktion
        currentFormula = "=Count(B1:F1)";
        sheet.getCellRange(++currentRow,1).setText(currentFormula);
        sheet.getCellRange(currentRow,2).setFormula(currentFormula);

        //MAX-Funktion
        currentFormula = "=MAX(B1:F1)";
        sheet.getCellRange(++currentRow,1).setText(currentFormula);
        sheet.getCellRange(currentRow,2).setFormula(currentFormula);

        //DURCHSCHNITTLICHE Funktion
        currentFormula = "=AVERAGE(B1:F1)";
        sheet.getCellRange(++currentRow,1).setText(currentFormula);
        sheet.getCellRange(currentRow,2).setFormula(currentFormula);

        //SUM-Funktion
        currentFormula = "=SUM(B1:F1)";
        sheet.getCellRange(++currentRow,1).setText(currentFormula);
        sheet.getCellRange(currentRow,2).setFormula(currentFormula);

        //Speichern Sie das Dokument
        workbook.saveToFile("InsertFormulas.xlsx",FileFormat.Version2013);
    }
}

f.jpg

** Formel lesen **

import com.spire.xls.*;

public class ReadFormulas {

    public static void main(String[] args) {

        //Erstellen Sie ein Arbeitsmappenobjekt
        Workbook workbook = new Workbook();

        //Laden Sie ein Excel-Dokument
        workbook.loadFromFile("InsertFormulas.xlsx");

        //Holen Sie sich das erste Arbeitsblatt
        Worksheet sheet = workbook.getWorksheets().get(0);

        //Zellen von B1 nach B13 durchlaufen
        for (Object cell : sheet.getCellRange("B1:B13")
                ) {
            CellRange cellRange = (CellRange) cell;

            //Bestimmt, ob eine Zelle eine Formel enthält
            if (cellRange.hasFormula()) {

                //Drucken Sie Zellen und Formeln
                String certainCell = String.format("Zelle[%d, %d]Enthält die Formel:", cellRange.getRow(), cellRange.getColumn());
                System.out.println(certainCell + cellRange.getFormula());
            }
        }
    }
}

rf.jpg

Recommended Posts

Java fügt Excel-Formeln hinzu und liest sie
Java Excel Insertion und Bildextraktion
Java Excel-Einstellungen Hintergrundfarbe und Hintergrundbild
Java und JavaScript
XXE und Java
Hinzufügen, Lesen und Löschen von Excel-Kommentaren mit Java
Java fügt Wasserzeichen in Word-Dokumenten hinzu und entfernt sie
Java wahr und falsch
[Java] Vergleich von Zeichenketten und && und ||
Benennen Sie Java Excel Sheet um und legen Sie die Registerkartenfarben fest
Java - Serialisierung und Deserialisierung
timedatectl und Java TimeZone
[Java] Variablen- und Typtypen
Java (Klasse und Instanz)
[Java] Überladen und überschreiben
Studiere Java # 2 (\ mark and operator)
Java Version 8 und neuere Funktionen
Java fügt PDF eine Tabelle hinzu
[Java] Unterschied zwischen == und gleich
[Java] Generics-Klasse und Generics-Methode
Java-Programmierung (Variablen und Daten)
Java und Iterator Teil 1 Externe Iterator Edition
Lassen Sie uns Excel mit Java betreiben! !!
Importieren Sie Excel-Daten mit Java 2
Java if- und switch-Anweisungen
Definition und Instanziierung von Java-Klassen
Java verwandelt Excel in PDF
Apache Hadoop und Java 9 (Teil 1)
[Java] Über String und StringBuilder
Importieren Sie Excel-Daten mit Java
Java-Zusatz Excel-Datenüberprüfung
☾ Java / Repeat-Anweisung und Repeat-Steueranweisung
Java erstellt Excel-Dokumente
Java-Methoden und Methodenüberladungen
Java Generics T und? Unterschied
Vor- und Nachteile von Java
Java (bedingte Verzweigung und Wiederholung)
Über Java-Paket und Import
Importieren Sie Excel-Daten mit Java 3
[Java] Laden Sie ein Bild hoch und konvertieren Sie es in Base64
C # und Java überschreiben Story
Java abstrakte Methoden und Klassen
Java während und für Anweisungen
Excel mit Formeln mit XlsMapper ausgeben
Java-Kapselung und Getter und Setter