1. Producten
  2.   Spreadsheet
  3.   Java
  4.   FastExcel
 
  

Open Source Java API voor Microsoft Excel-spreadsheets

Maak, lees, bewerk en converteer Microsoft Excel-spreadsheetbestanden in Java-apps via Open Source API.

Wat is FastExcel?

Werken met grote Excel-bestanden is altijd een grote uitdaging voor softwareprogrammeurs en vereist vaardigheden en middelen van hoog niveau om het te beheren. FastExcel is een zeer krachtige open source Java Excel-bibliotheek waarmee softwareontwikkelaars Microsoft Excel XLSX-werkmappen kunnen maken en lezen in hun eigen Java-toepassingen. Het helpt ontwikkelaars om met grote Excel-bestanden te werken zonder externe afhankelijkheden.

FastExcel is heel eenvoudig te gebruiken en vermindert de geheugenvoetafdruk en hoge prestaties door alleen noodzakelijke elementen te verzamelen. Het bevat verschillende belangrijke functies voor het werken met spreadsheets, zoals het maken van eenvoudige werkmappen, het toepassen van stijlen en opmaak op cellen, kolommen en rijen, het instellen van een stijl op een reeks cellen, het samenvoegen van cellen en rijen, het schaduwen van alternatieve rijen, het instellen van papierformaat en pagina-oriëntatie , stel paginamarges in, maak een bevroren deelvenster enzovoort.

FastExcel biedt volledige ondersteuning voor multithreading, wat betekent dat elk werkblad in de werkmap kan worden gegenereerd door een andere thread, terwijl gedeelde tekenreeksen en stijlen volledig worden ondersteund. De FastExcel-lezer is zeer efficiënt en leest alleen de inhoud van cellen en negeert stijlen, grafieken en andere dingen.

Previous Next

Aan de slag met FastExcel

De FastExcel-bibliotheek vereist Java 8+. Bouw met Maven. Neem de volgende afhankelijkheid op in uw POM

FastExcel Maven-afhankelijkheid

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

Je kunt ook de gecompileerde gedeelde bibliotheek downloaden van de GitHub-repository en installeren.

Genereer Excel XLSX-bestand via Java API

Met de open source FastExcel-bibliotheek kunnen softwareontwikkelaars Excel XLSX-bestanden genereren met slechts een paar regels Java-code. Het is heel eenvoudig om een nieuwe werkmap toe te voegen en verschillende werkbladen toe te voegen, cellen en rijen in het werkblad in te voegen. De bibliotheek ondersteunt verschillende functies met betrekking tot tekstopmaak en -stijl, zoals het wijzigen van de celstijl, het instellen van de stijl op een reeks cellen, het schaduwen van alternatieve rijen, het instellen van het papierformaat en de paginarichting enzovoort.

Maak een nieuwe Excel Fie 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();
        }
    }
}

Lees Excel XLSX-bestand via Java API

De FastExcel-bibliotheek heeft een zeer krachtige lezer geleverd waarmee gebruikers gemakkelijk een Excel-werkmap kunnen openen en lezen. Het is een streamingalternatief van Apache POI, maar zeer eenvoudig te hanteren in vergelijking met Apache POI en 10 keer sneller dan het. Het kan alleen celinhoud lezen en stijlen, grafieken en vele andere zaken negeren. Het volgende voorbeeld laat zien hoe u een werkmap opent en alle rijen streamt met Java.

Open en lees werkboekrijen op een streaming manier 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 Generatie via FastExcel`

Multithreading is het vermogen van een centrale verwerkingseenheid (CPU) om gelijktijdig meerdere uitvoeringsthreads te bieden, ondersteund door het besturingssysteem. Als de computer meerdere processors of processorkernen heeft, neemt het besturingssysteem de verantwoordelijkheid om de threads op de meest efficiënte manier aan de processors toe te wijzen. De open source FastExcel-bibliotheek ondersteunt het genereren van meerdere threads volledig en maakt voor elk werkblad een andere thread met behulp van Java-code.

Genereer spreadsheets in een multithreading-omgeving via 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();
}
 Dutch