Atvirojo kodo Java API, skirta Microsoft Excel skaičiuoklėms
Kurkite, skaitykite, redaguokite ir konvertuokite „Microsoft Excel“ skaičiuoklės failus „Java“ programose naudodami atvirojo kodo API.
Kas yra FastExcel?
Darbas su dideliais „Excel“ failais visada yra didelis iššūkis programinės įrangos programuotojams ir reikalauja aukšto lygio įgūdžių bei išteklių. FastExcel yra labai galinga atvirojo kodo Java Excel biblioteka, leidžianti programinės įrangos kūrėjams kurti ir skaityti Microsoft Excel XLSX darbaknyges savo Java programose. Tai padeda kūrėjams dirbti su dideliais „Excel“ failais be jokių išorinių priklausomybių.
„FastExcel“ yra labai paprasta naudoti ir sumažina atminties kiekį bei didelį našumą, nes kaupia tik būtinus elementus. Jame yra keletas svarbių funkcijų, skirtų darbui su skaičiuoklėmis, pvz., paprastų darbaknygių kūrimas, stilių ir formatavimo taikymas langeliams, stulpeliams ir eilutėms, stiliaus nustatymas langelių diapazone, langelių ir eilučių sujungimas, alternatyvių eilučių atspalvis, popieriaus dydžio ir puslapio orientacijos nustatymas. , nustatykite puslapio paraštes, sukurkite fiksavimo sritį ir pan.
„FastExcel“ teikia visišką kelių gijų palaikymą, o tai reiškia, kad kiekvienas darbaknygės darbalapis gali būti sugeneruotas naudojant skirtingą giją, kartu visiškai palaiko bendras eilutes ir stilius. FastExcel skaitytuvas yra labai efektyvus ir skaito tik langelių turinį ir atmeta stilius, grafikus ir kitus dalykus.
Darbo su FastExcel pradžia
FastExcel bibliotekai reikalinga Java 8+. Sukurkite su Maven. Į savo POM įtraukite toliau nurodytą priklausomybę
„FastExcel Maven“ priklausomybė
<dependency>
<groupId> org.dhatim</groupId>
<artifactId>fastexcel</artifactId>
<version>0.12.13</version>
</dependency>
Taip pat galite atsisiųsti sudarytą bendrinamą biblioteką iš „GitHub“ saugyklos ir ją įdiegti.
Sukurkite Excel XLSX failą naudodami Java API
Atvirojo kodo „FastExcel“ biblioteka leidžia programinės įrangos kūrėjams generuoti „Excel XLSX“ failą naudojant tik kelias „Java“ kodo eilutes. Labai lengva pridėti naują darbaknygę ir pridėti skirtingus darbalapius, įterpti langelius ir eilutes darbalapyje. Biblioteka palaiko keletą funkcijų, susijusių su teksto formatavimu ir stiliumi, pvz., pakeisti langelio stilių, nustatyti įvairių langelių stilių, atspalvinti alternatyvias eilutes, nustatyti popieriaus dydį ir puslapio orientaciją ir pan.
Sukurkite naują „Excel Fie“ naudodami „Java“ biblioteką
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();
}
}
}
Skaitykite Excel XLSX failą naudodami Java API
„FastExcel“ biblioteka suteikė labai galingą skaitytuvą, leidžiantį vartotojams lengvai atidaryti ir skaityti „Excel“ darbaknygę. Tai yra „Apache POI“ transliacijos alternatyva, tačiau ją labai paprasta valdyti, palyginti su „Apache POI“, ir 10 kartų greitesnė už ją. Jis gali nuskaityti tik langelio turinį ir atmesti stilius, grafikus ir daugelį kitų dalykų. Šiame pavyzdyje parodyta, kaip atidaryti darbaknygę ir perskaityti visas eilutes srautiniu būdu naudojant Java.
Atidarykite ir skaitykite darbaknygės eilutes srautinio perdavimo būdu per „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);
});
}
}
Daugiasluoksnių skaičiuoklių generavimas naudojant „FastExcel“.
Daugiagija – tai centrinio procesoriaus (CPU) galimybė vienu metu teikti kelias vykdymo gijas, palaikomas operacinės sistemos. Jei kompiuteryje yra keli procesoriai arba procesoriaus branduoliai, operacinė sistema prisiima atsakomybę už efektyviausią gijų paskirstymą procesoriams. Atvirojo kodo „FastExcel“ biblioteka visiškai palaiko kelių gijų generavimą ir kiekvienam darbalapiui sukuria skirtingą giją, naudodama „Java“ kodą.
Generuokite skaičiuokles kelių gijų aplinkoje naudodami 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();
}