StreamSheet - une bibliothèque Kotlin/Spring Boot pour l’export Excel à grande échelle
(github.com/danpung2)Bonjour, je suis le développeur de StreamSheet.
Dans le travail au quotidien, des problèmes d’OOM (OutOfMemory) survenaient souvent lors de l’implémentation de l’export Excel, et nous devions faire des correctifs ponctuels à chaque fois.
Nous devions aussi réécrire du boilerplate de manière répétitive chaque fois que nous créions une fonctionnalité d’export Excel.
À force de rencontrer ces problèmes en production, j’ai voulu créer un SDK permettant d’exporter simplement de gros volumes de données vers des fichiers Excel.
[Objectifs du projet]
Stabilité mémoire : fonctionnement fiable sans OOM pour l’export de plus d’un million de lignes via JPA Stream, JDBC ResultSet, MongoDB Cursor, etc.
Simplicité d’utilisation : définition simple des colonnes en ajoutant @ExcelSheet et @ExcelColumn aux DTO
Intégration : utilisable immédiatement grâce à l’auto-configuration de Spring Boot
N’hésitez pas à y jeter un œil et à me faire part de vos retours.
4 commentaires
Essayez la bibliothèque de génération de rapports Excel basée sur des modèles (TBEG).
https://github.com/jogakdal/data-processors-with-excel
Excel a un nombre maximal de lignes, donc pour de très gros volumes, le CSV n’est-il pas préférable ?
Comme vous l’avez indiqué, Excel a une limite maximale d’environ 1,04 million de lignes, donc pour de gros volumes de données, le CSV peut être un choix plus adapté, et personnellement, j’ai aussi tendance à le préférer.
Cela dit, comme la plupart des personnes qui demandaient une fonction d’export préféraient le format Excel, c’est un projet que j’ai lancé afin de réduire l’écriture répétitive de code et les problèmes d’OOM au cours de ce processus.
Merci pour votre avis !
D’après mon expérience sur le terrain, les clients ont aussi tendance à préférer Excel au CSV.
C’est aussi mon cas, donc il semble bien qu’il y ait une vraie demande.