API Java Sumber Terbuka untuk Hamparan Microsoft Excel
Buat, Baca, Edit dan Tukar fail Hamparan Microsoft Excel dalam aplikasi Java melalui API Sumber Terbuka.
Apa itu FastExcel?
Bekerja dengan fail Excel yang besar sentiasa menjadi cabaran besar untuk pengaturcara perisian dan memerlukan kemahiran dan sumber tahap tinggi untuk mengurusnya. FastExcel ialah perpustakaan Java Excel sumber terbuka yang sangat berkuasa yang membolehkan pembangun perisian mencipta dan membaca buku kerja Microsoft Excel XLSX di dalam aplikasi Java mereka sendiri. Ia membantu pembangun untuk bekerja dengan fail Excel yang besar tanpa sebarang kebergantungan luaran.
FastExcel adalah sangat mudah untuk digunakan dan mengurangkan jejak memori dan prestasi tinggi dengan mengumpul elemen yang diperlukan sahaja. Ia telah memasukkan beberapa ciri penting untuk bekerja dengan hamparan seperti mencipta buku kerja mudah, menggunakan gaya dan pemformatan pada sel, lajur dan baris, Tetapkan gaya pada julat sel, cantumkan sel dan baris, lorekkan baris ganti, tetapkan saiz kertas dan orientasi halaman. , tetapkan jidar halaman, buat anak tetingkap beku dan sebagainya.
FastExcel menyediakan sokongan lengkap untuk multithreading yang bermaksud setiap lembaran kerja dalam buku kerja boleh dijana oleh urutan yang berbeza, sambil menyokong sepenuhnya rentetan dan gaya yang dikongsi. Pembaca FastExcel sangat cekap dan hanya membaca kandungan sel dan membuang gaya, graf dan bahan lain.
Bermula dengan FastExcel
Pustaka FastExcel memerlukan Java 8+. Bina dengan Maven. Sila sertakan pergantungan berikut dalam POM anda
Ketergantungan Maven FastExcel
<dependency>
<groupId> org.dhatim</groupId>
<artifactId>fastexcel</artifactId>
<version>0.12.13</version>
</dependency>
Anda juga boleh memuat turun perpustakaan kongsi yang disusun daripada repositori GitHub dan memasangnya.
Hasilkan Fail Excel XLSX melalui API Java
Pustaka FastExcel sumber terbuka membolehkan pembangun perisian menjana Fail Excel XLSX dengan hanya beberapa baris kod Java. Sangat mudah untuk menambah buku kerja baharu dan menambah lembaran kerja yang berbeza, memasukkan sel dan baris di dalam lembaran kerja. Perpustakaan menyokong beberapa ciri yang berkaitan dengan pemformatan dan penggayaan teks seperti menukar gaya sel, menetapkan gaya pada julat sel, lorek baris ganti, Tetapkan saiz kertas dan orientasi halaman dan sebagainya.
Cipta Excel Fie Baharu melalui Pustaka Java
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();
}
}
}
Baca Fail Excel XLSX melalui API Java
Pustaka FastExcel telah menyediakan pembaca yang sangat berkuasa yang membolehkan pengguna membuka dan membaca buku kerja Excel dengan mudah. Ia adalah alternatif penstriman Apache POI tetapi sangat mudah untuk dikendalikan berbanding Apache POI dan 10 kali lebih pantas daripadanya. Ia hanya boleh membaca kandungan sel dan membuang gaya, graf dan banyak perkara lain. Contoh berikut menunjukkan cara membuka buku kerja dan membaca semua baris dalam cara penstriman menggunakan Java.
Buka & Baca Baris Buku Kerja dalam Cara Penstriman melalui 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);
});
}
}
Penjanaan Hamparan Berbilang Benang melalui FastExcel`
Multithreading ialah keupayaan unit pemprosesan pusat (CPU) untuk menyediakan berbilang urutan pelaksanaan secara serentak, disokong oleh sistem pengendalian. Jika komputer mempunyai berbilang pemproses atau teras pemproses, sistem pengendalian bertanggungjawab untuk memperuntukkan benang kepada pemproses dengan cara yang paling cekap. Pustaka FastExcel sumber terbuka menyokong sepenuhnya penjanaan berbilang benang dan mencipta setiap lembaran kerja urutan yang berbeza menggunakan kod Java.
Hasilkan Hamparan dalam Persekitaran Multithreading melalui 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();
}