Fonte aberta Java API para planilhas do Microsoft Excel
Crie, leia, edite e converta arquivos de planilha do Microsoft Excel em aplicativos Java por meio da API de código aberto.
O que é FastExcel?
Trabalhar com grandes arquivos do Excel é sempre um grande desafio para programadores de software e requer e recursos de alto nível para gerenciá-lo. FastExcel é uma biblioteca do Excel de fonte aberta muito que permite que os desenvolvedores de software criem e leiam livros de Microsoft Excel XLSX dentro de seus Java aplicativos. Ele os desenvolvedores a com grandes arquivos do Excel sem qualquer dependência externa.
FastExcel é muito simples de usar e a pegada de memória e alto desempenho acumulando apenas elementos. Ele incluiu vários recursos importantes para com planilhas, como livros de simples, estilos e formatação para células, e, definir estilo em uma gama de células, de,
FastExcel suporte completo para multitreading, o que significa que cada planilha no livro de receitas pode ser gerada por um fio diferente, enquanto compartilhadas e estilos. O FastExcel é muito eficiente e leia apenas o conteúdo das células e estilos de descarte, e outras coisas.
Introdução ao FastExcel
A biblioteca de FastExcel requer Java 8. Construir com Haven. Por favor, inclua a seguinte dependência no seu POM
FastExcel Dependência de Haven
<dependency>
<groupId> org.dhatim</groupId>
<artifactId>fastexcel</artifactId>
<version>0.12.13</version>
</dependency>
Você também pode baixar a biblioteca compartilhada compilada do repositório GitHub e instalá-la.
Gerar Excel XLSX File via Java API
A biblioteca open source FastExcel permite que os desenvolvedores de software gerem o Excel XLSX File com apenas algumas de Java código. É muito fácil um novo livro de receitas e diferentes planilhas, inserir células e dentro da planilha. A biblioteca vários recursos relacionados à formatação de texto e estilo, como o estilo celular, definir estilo em uma gama de células, sombra alternadas, definir de papel e de página e assim por diante.
Criar novo arquivo do Excel através da Biblioteca 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();
}
}
}
Leia o Excel XLSX File via Java API
A biblioteca FastExcel forneceu um muito que permite aos usuários abrir e ler um livro de receitas do Excel com. É uma alternativa de streaming de Apache PO, mas muito simples de manusear como comparar com Apache PO e 10 vezes mais rápido do que ele. Ele só pode ler o conteúdo celular e ar estilos, e muitas outras coisas. O exemplo a seguir mostra como abrir um livro de receitas e ler todas as de forma streaming usando Java.
Abra e leia Cookbook Ross em Streaming Way 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);
});
}
}
Geração de planilha Multithread através de FastExcel
Multitreading é a de uma unidade central de (CPU) para vários fios de , apoiados pelo sistema operacional. Se o computador tiver vários processadores ou núcleos de processadores, o sistema operacional assume a responsabilidade de atribuir os fios aos processadores da forma mais eficiente. A biblioteca open source FastExcel apoia totalmente a geração multithreaded e cria cada planilha uma linha diferente usando Java código.
Gerar Planilhas em Ambiente Multithreading através 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();
}