StreamSheet - biblioteca Kotlin/Spring Boot para exportação de grandes volumes de Excel
(github.com/danpung2)Olá, sou o desenvolvedor que criou o StreamSheet.
No trabalho do dia a dia, ao implementar exportações para Excel, problemas de OOM (OutOfMemory) aconteciam com frequência e, sempre que surgiam, eu fazia correções pontuais.
Toda vez que era preciso criar uma funcionalidade de exportação para Excel, também era necessário escrever repetidamente código boilerplate.
Ao enfrentar esses problemas repetidas vezes na prática, decidi criar um SDK que permitisse exportar grandes volumes de dados para arquivos Excel de forma simples.
[Objetivos do projeto]
Estabilidade de memória: operação estável sem OOM na exportação de mais de 1 milhão de linhas usando JPA Stream, JDBC ResultSet, MongoDB Cursor etc.
Usabilidade: definição simples de colunas adicionando @ExcelSheet e @ExcelColumn ao DTO
Integração: uso imediato com auto-configuration do Spring Boot
Ficarei grato se puderem conferir e me enviar feedback.
4 comentários
Experimente a biblioteca de geração de relatórios em Excel baseada em templates (TBEG).
https://github.com/jogakdal/data-processors-with-excel
Como o Excel tem um número máximo de linhas,
no caso de grandes volumes de dados, CSV não seria melhor?
Como você mencionou, o Excel tem um limite máximo de cerca de 1,04 milhão de linhas, então, no caso de grandes volumes de dados, o CSV pode ser uma escolha mais adequada, e eu também tendo a preferir CSV.
No entanto, como a maioria das pessoas que solicitaram a funcionalidade de exportação prefere o formato Excel, este projeto começou para reduzir a escrita repetitiva de código e os problemas de OOM nesse processo.
Obrigado pela opinião!
Pela minha experiência prática, os clientes parecem tender a preferir mais Excel do que CSV.
No meu caso também é assim, então com certeza parece haver demanda.