1. produkty
  2.   Tabulka
  3.   Java
  4.   FastExcel
 
  

Open Source Java API pro tabulky Microsoft Excel

Vytvářejte, čtěte, upravujte a převádějte soubory tabulek Microsoft Excel v aplikacích Java prostřednictvím rozhraní Open Source API.

Co je FastExcel?

Práce s velkými soubory aplikace Excel je pro softwarové programátory vždy velkou výzvou a vyžaduje vysokou úroveň dovedností a zdrojů pro její správu. FastExcel je velmi výkonná open source knihovna Java Excel, která umožňuje vývojářům softwaru vytvářet a číst sešity Microsoft Excel XLSX v rámci jejich vlastních aplikací Java. Pomáhá vývojářům pracovat s velkými soubory aplikace Excel bez jakýchkoli externích závislostí.

FastExcel se velmi snadno používá a snižuje nároky na paměť a vysoký výkon tím, že shromažďuje pouze nezbytné prvky. Obsahuje několik důležitých funkcí pro práci s tabulkami, jako je vytváření jednoduchých sešitů, použití stylů a formátování na buňky, sloupce a řádky, nastavení stylu pro rozsah buněk, sloučení buněk a řádků, stínování alternativních řádků, nastavení velikosti papíru a orientace stránky. , nastavit okraje stránky, vytvořit panel zmrazení a tak dále.

FastExcel poskytuje kompletní podporu pro multithreading, což znamená, že každý list v sešitu může být generován jiným vláknem, přičemž plně podporuje sdílené řetězce a styly. Čtečka FastExcel je velmi efektivní a čte pouze obsah buněk a zahazuje styly, grafy a další věci.

Previous Next

Začínáme s FastExcel

Knihovna FastExcel vyžaduje Java 8+. Stavte s Mavenem. Zahrňte do svého POM následující závislost

Závislost FastExcel Maven

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

Můžete si také stáhnout zkompilovanou sdílenou knihovnu z úložiště GitHub a nainstalovat ji.

Vygenerujte soubor Excel XLSX přes Java API

Open source knihovna FastExcel umožňuje vývojářům softwaru generovat soubor Excel XLSX pomocí pouhých několika řádků kódu Java. Je velmi snadné přidat nový sešit a přidat různé listy, vložit buňky a řádky do listu. Knihovna podporuje několik funkcí souvisejících s formátováním a stylováním textu, jako je změna stylu buněk, nastavení stylu pro řadu buněk, stínování střídavých řádků, nastavení velikosti papíru a orientace stránky a tak dále.

Vytvořte nový Excel Fie prostřednictvím knihovny 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();
        }
    }
}

Čtěte soubor Excel XLSX přes Java API

Knihovna FastExcel poskytla velmi výkonnou čtečku, která uživatelům umožňuje snadno otevřít a číst sešit aplikace Excel. Je to streamovací alternativa Apache POI, ale ve srovnání s Apache POI je velmi jednoduchá na manipulaci a je 10krát rychlejší než ona. Dokáže pouze číst obsah buňky a zahazovat styly, grafy a mnoho dalších věcí. Následující příklad ukazuje, jak otevřít sešit a číst všechny řádky streamovaným způsobem pomocí Java.

Otevřít a číst řádky sešitu způsobem streamování přes 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);
        });
    }
} 

Generování vícevláknových tabulek přes FastExcel`

Vícevláknové zpracování je schopnost centrální procesorové jednotky (CPU) poskytovat souběžné spouštění více vláken, podporované operačním systémem. Pokud má počítač více procesorů nebo procesorových jader, operační systém převezme odpovědnost za přidělení vláken procesorům tím nejefektivnějším způsobem. Knihovna FastExcel s otevřeným zdrojovým kódem plně podporuje generování s více vlákny a pomocí kódu Java vytvoří pro každý list jiné vlákno.

Generujte tabulky v multithreadingovém prostředí prostřednictvím 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();
}
 Čeština