Open Source Java API per Microsoft Excel

Crea, leggi, modifica e converti file di fogli di lavoro Microsoft Excel in applicazioni Java tramite API Open Source.

Cos'è FastExcel?

Lavorare con file Excel di grandi dimensioni è sempre una grande sfida per i programmatori di software e richiede competenze e risorse di alto livello per gestirlo. FastExcel è una potente libreria open source Java Excel che consente agli sviluppatori di software di creare e leggere Microsoft Excel XLSX libri di cucina all'interno delle proprie Java applicazioni. Aiuta gli sviluppatori a lavorare con file Excel di grandi dimensioni senza dipendenze esterne.

FastExcel è molto semplice da usare e riduce l'impronta di memoria e le alte prestazioni accumulando solo elementi necessari. Ha incluso diverse caratteristiche importanti per lavorare con fogli di calcolo come la creazione di semplici libri di cucina, applicare stili e formattazione a celle, colonne e file, impostare lo stile su una gamma di celle, unire le celle e righe, carta alternata

FastExcel fornisce un supporto completo per la multithreading, il che significa che ogni foglio di lavoro nel libro di cucina può essere generato da un filo diverso, pur sostenendo le corde e gli stili condivisi. Il lettore FastExcel è molto efficiente e leggere solo il contenuto delle cellule e scartare gli stili, i grafici e altre cose.

Previous Next

Introduzione a FastExcel

La biblioteca FastExcel richiede Java 8. Costruisci con Haven. Si prega di includere la seguente dipendenza nel vostro POM

FastExcel Dipendenza da Haven

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

Puoi anche scaricare la libreria condivisa compilata dal repository GitHub e installarla.

Generare Excel XLSX File tramite Java API

La libreria open source FastExcel consente agli sviluppatori di software di generare Excel XLSX File con solo un paio di linee di Java codice. E 'molto facile aggiungere un nuovo libro di cucina e aggiungere diversi fogli di lavoro, inserire le celle e le righe all'interno del foglio di lavoro. La libreria supporta diverse caratteristiche relative alla formattazione del testo e lo styling come lo stile della cella di cambiamento, lo stile impostato su una gamma di celle, righe alternate ombra, impostare la dimensione della carta e l'orientamento della pagina e così via.

Crea nuovo file Excel via Java Library

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();
        }
    }
}

Leggi Excel XLSX File via Java API

La biblioteca FastExcel ha fornito un lettore molto potente che permette agli utenti di aprire e leggere un libro di cucina Excel con facilità. Si tratta di un'alternativa in streaming di Apache PO ma molto semplice da gestire rispetto a Apache PO e 10 volte più veloce di esso. Può solo leggere il contenuto delle cellule e scartare gli stili, i grafici, e molte altre cose. L'esempio seguente mostra come aprire un libro di cucina e leggere tutte le righe in modo streaming utilizzando Java.

Aprire e leggere Cookbook Ross in modo streaming 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);
        });
    }
} 

Generazione di fogli di calcolo multithread tramite FastExcel

Multithreading è la capacità di un'unità di elaborazione centrale (CPU) di fornire simultaneamente più fili di esecuzione, supportati dal sistema operativo. Se il computer ha più processori o nuclei di processori, il sistema operativo si assume la responsabilità di assegnare i thread ai processori nel modo più efficiente. La libreria open source FastExcel supporta completamente la generazione multithreaded e crea ogni foglio di lavoro un filo diverso utilizzando Java codice.

Generare fogli di calcolo in ambiente multitreading tramite 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();
}
 Italiano