Nyitott forrás Java API a Microsoft Excel Spreadsheets számára
Microsoft Excel-táblázat-fájlok létrehozása, olvasása, szerkesztése és konvertálása Java alkalmazásokban a nyílt forráskódú API-n keresztül.
Mi az a FastExcel?
A nagy Excel fájlokkal való munka mindig nagy kihívást jelent a szoftverprogramozók számára, és magas szintű készségeket és erőforrásokat igényel. FastExcel egy nagyon erős nyílt forráskódú Java Excel könyvtár, amely lehetővé teszi a szoftverfejlesztők számára, hogy létrehozzák és olvassák a Microsoft Excel XLSX főkönyvet saját Java alkalmazásukban. Segít a fejlesztőknek dolgozni a nagy Excel fájlokat külső függőségek nélkül.
A FastExcel nagyon egyszerű használni és csökkenteni a memória lábnyomát és a nagy teljesítményt csak szükséges elemek felhalmozásával. Számos fontos funkciót tartalmazott az olyan táblákkal való munkavégzéshez, mint például az egyszerű szakácskönyvek létrehozása, stílusokat és formázást alkalmaznak a sejtekre, oszlopokra és sorokra, Állítsa be a stílust a sejtek, egyesítő sejtek és sorok széles skáláján, árnyékolja az alternatív sorokat, állítsa be a papírméretetet és az oldal orientációját, állítsa be az oldalt, hozzon létre egy fagyasztott serpenyőt és így tovább.
FastExcel teljes támogatást nyújt a többszörözéshez, ami azt jelenti, hogy a szakácskönyvben minden munkalapot más szálak generálhatnak, miközben teljes mértékben támogatják a megosztott karakterláncokat és stílusokat. A FastExcel olvasó nagyon hatékony, és csak a sejtek tartalmát és eldobott stílusokat, grafikonokat és egyéb dolgokat olvassa el.
A FastExcel használatának első lépései
A FastExcel könyvtárhoz Java 8+ szükséges. Építsd a Mavennel. Kérjük, adja meg a következő függőséget a POM-ban
FastExcel Maven-függőség
<dependency>
<groupId> org.dhatim</groupId>
<artifactId>fastexcel</artifactId>
<version>0.12.13</version>
</dependency>
letöltheti az összeállított megosztott könyvtárat a GitHub-tárhelyből, és telepítheti.
Excel XLSX fájl létrehozása Java API-n keresztül
A nyílt forráskódú FastExcel könyvtár lehetővé teszi a szoftverfejlesztők számára Excel XLSX fájl létrehozását néhány soros Java kóddal. Nagyon egyszerű új munkafüzet hozzáadása, különböző munkalapok hozzáadása, cellák és sorok beszúrása a munkalapon belül. A könyvtár számos, a szöveg formázásával és stílusával kapcsolatos funkciót támogat, például a cella stílusának megváltoztatását, a cellák stílusának beállítását, az alternatív sorok árnyékolását, a papírméret és az oldaltájolás beállítása és így tovább.
Hozzon létre új Excel Fie-t a Java Library segítségével
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();
}
}
}
Olvasson Excel XLSX fájlt a Java API-n keresztül
A FastExcel könyvtár nagyon hatékony olvasót biztosít, amely lehetővé teszi a felhasználók számára az Excel-munkafüzetek egyszerű megnyitását és olvasását. Ez az Apache POI streaming alternatívája, de az Apache POI-hoz képest nagyon egyszerűen kezelhető, és 10-szer gyorsabb nála. Csak a cella tartalmát tudja olvasni, és eldobja a stílusokat, grafikonokat és sok más dolgot. A következő példa bemutatja, hogyan lehet megnyitni egy munkafüzetet, és elolvasni az összes sort streaming módon Java használatával.
Munkafüzet sorainak megnyitása és olvasása a Streaming Way-ben Java-n keresztül
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);
});
}
}
Többszálú táblázatkészítés a FastExcel segítségével
A multithreading a központi feldolgozó egység (CPU) azon képessége, hogy egyidejűleg több szálat biztosítson a végrehajtáshoz, az operációs rendszer támogatásával. Ha a számítógép több processzorral vagy processzormaggal rendelkezik, az operációs rendszer felelősséget vállal azért, hogy a szálakat a processzorokhoz a leghatékonyabb módon rendelje hozzá. A nyílt forráskódú FastExcel könyvtár teljes mértékben támogatja a többszálú generálást, és minden munkalaphoz más szálat hoz létre Java kód segítségével.
Táblázatok létrehozása Multithreading környezetben Java API-n keresztül
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();
}