Open Source Java API für Microsoft Excel Spreadsheets

Erstellen, lesen, bearbeiten und konvertieren Sie Microsoft Excel-Tabellendateien in Java-Anwendungen über die Open-Source-API.

Was ist FastExcel?

Die Arbeit mit großen Excel-Dateien ist immer eine große Herausforderung für Software-Programmierer und erfordert hochstufige Fähigkeiten und Ressourcen, um sie zu verwalten. FastExcel ist eine sehr leistungsstarke Open Source Java Excel Bibliothek, die es Software-Entwicklern erlaubt, Microsoft Excel XLSX Kochbücher innerhalb ihrer eigenen Java Anwendungen zu erstellen und zu lesen. Es hilft Entwicklern, mit großen Excel-Dateien ohne externe Abhängigkeiten zu arbeiten.

FastExcel ist sehr einfach zu benutzen und verringert Speicherabdruck und hohe Leistung, indem nur die notwendigen Elemente angesammelt werden. Es enthält einige wichtige Funktionen für die Arbeit mit Tabellenkalkulationen wie die Erstellung einfacher Kochbücher, die Verwendung von Stilen und Formatierungen für Zellen, Spalten und Zeilen, Einfrieren von Zellen, alternative Zellen.

FastExcel bietet vollständige Unterstützung für Multithreading, was bedeutet, dass jede Tabelle im Kochbuch von einem anderen Thread erstellt werden kann, während sie freigegebene Zeichenketten und Stile unterstützt. Der FastExcel-Leser ist sehr effizient und liest nur die Zelleninhalte und Abwurfstile, Graphen und andere Dinge.

Previous Next

Erste Schritte mit FastExcel

Die FastExcel Bibliothek benötigt Java 8+. Build with Haven. Bitte fügen Sie die folgende Abhängigkeit in Ihrer POM

FastExcel Haven Dependency.

<dependency>
<groupId> org.dhatim</groupId>
<artifactId>fastexcel</artifactId>
<version>0.12.13</version>
</dependency>

Sie können auch die kompilierte gemeinsame Bibliothek aus dem GitHub-Repository herunterladen und installieren.

Excel XLSX File via Java API

Die Open Source FastExcel Bibliothek erlaubt es Software-Entwicklern, Excel XLSX File mit nur ein paar Zeilen Java Code zu erzeugen. Es ist sehr einfach, ein neues Kochbuch hinzuzufügen und verschiedene Arbeitsblätter, Zellen und Zeilen in das Arbeitsblatt einzufügen. Die Bibliothek unterstützt mehrere Funktionen im Zusammenhang mit Textformatierung und Stilierung, wie z.B. Zellstil ändern, Stil auf Zellen setzen, alternative Zeilen schattieren, Papiergröße und Seitenausrichtung festlegen usw.

Erstellen Sie neue Excel-Datei über Java Bibliothek

package com.zetcode;
import org.dhatim.fastexcel.Workbook;
import org.dhatim.fastexcel.Worksheet;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.List;
public class FastExcelSimpleWrite {
    public static void main(String[] args) throws IOException {
        var words = List.of("sky", "blue", "work", "falcon");
        int row = 0;
        int col = 0;
        var f = new File("/home/janbodnar/tmp/words.xlsx");
        try (var fos = new FileOutputStream(f)) {
            var wb = new Workbook(fos, "Application", "1.0");
            Worksheet ws = wb.newWorksheet("Sheet 1");
            for (var word : words) {
                ws.value(row, col, word);
                row++;
            }
            wb.finish();
        }
    }
}

Lesen Sie Excel XLSX File via Java

Die FastExcel Bibliothek hat einen sehr leistungsfähigen Leser zur Verfügung gestellt, der es Benutzern erlaubt, ein Excel-Kochbuch mit Leichtigkeit zu öffnen und zu lesen. Es ist eine Streaming-Alternative von Apache PO, aber sehr einfach zu handhaben, als Vergleich zu Apache PO und 10 Mal schneller als sie. Es kann nur Zelleninhalte und Abwurfstile, Graphen und viele andere Dinge lesen. Das folgende Beispiel zeigt, wie man ein Kochbuch öffnet und alle Datensätze auf Streaming-Art mit Java liest.

Open & Read Cookbook Ross in Streaming Way via Java

try (InputStream is = ...; ReadableWorkbook wb = new ReadableWorkbook(is)) {
    Sheet sheet = wb.getFirstSheet();
    try (Stream rows = sheet.openStream()) {
        rows.forEach(r -> {
            BigDecimal num = r.getCellAsNumber(0).orElse(null);
            String str = r.getCellAsString(1).orElse(null);
            LocalDateTime date = r.getCellAsDate(2).orElse(null);
        });
    }
} 

Multithreaded Spreadsheet Generation via FastExcel.

Multithreading ist die Fähigkeit einer zentralen Verarbeitungseinheit (CPU), mehrere Threads der Ausführung gleichzeitig bereitzustellen, unterstützt vom Betriebssystem. Wenn der Computer mehrere Prozessoren oder Prozessorkerne hat, übernimmt das Betriebssystem die Verantwortung dafür, die Threads den Prozessoren auf effizienteste Weise zuzuweisen. Die Open Source FastExcel Bibliothek unterstützt voll und ganz multithreaded-Generation und erstellt jede Tabelle mit Java-Code einen anderen Thread.

Generieren von Spreadsheets in Multithread Environment über Java API

try (OutputStream os = ...) {
    Workbook wb = new Workbook(os, "MyApplication", "1.0");
    Worksheet ws1 = wb.newWorksheet("Sheet 1");
    Worksheet ws2 = wb.newWorksheet("Sheet 2");
    CompletableFuture cf1 = CompletableFuture.runAsync(() -> {
        // Fill worksheet 1
        ...
    });
    CompletableFuture cf2 = CompletableFuture.runAsync(() -> {
        // Fill worksheet 2
        ...
    });
    CompletableFuture.allOf(cf1, cf2).get();
    wb.finish();
}
 Deutsch