kotlin-excel-dsl - Générer des fichiers Excel de manière type-safe avec une DSL Kotlin
(github.com/clroot)Quand je devais créer des fichiers Excel en Kotlin, le code verbeux d’Apache POI était à chaque fois pénible. Pour créer une seule cellule, il faut passer par Workbook → Sheet → Row → Cell, et l’application des styles est encore plus complexe.
J’ai donc créé une bibliothèque qui simplifie la génération d’Excel avec une DSL Kotlin.
GitHub: https://github.com/clroot/kotlin-excel-dsl
Fonctionnalités
- Hybride DSL + annotations : DSL pour les cas complexes, annotations
@Excelet@Columnpour les cas simples - Type-safe : validation des erreurs de configuration à la compilation
- Syntaxe de style CSS : définition des styles intuitive
- Thèmes par défaut fournis : Modern, Minimal, Classic
- Groupes d’en-têtes : en-têtes sur plusieurs lignes et fusion automatique des cellules
Exemple d’utilisation
// DSL 방식
excel {
sheet<User>("Users") {
column("이름") { it.name }
column("나이") { it.age }
column("가입일") { it.joinedAt }
rows(users)
}
}.writeTo(FileOutputStream("users.xlsx"))
// 어노테이션 방식
@Excel
data class User(
@Column("이름") val name: String,
@Column("나이") val age: Int
)
excelOf(users).writeTo(output)
Application des styles
excel {
styles {
header { bold(); backgroundColor(Color.GRAY) }
column("금액") {
body { align(Alignment.RIGHT); numberFormat("#,##0") }
}
}
// ...
}
Installation
implementation("io.clroot.excel:excel-dsl:0.1.0")
Utilisable avec Kotlin 2.2.0+ et JDK 21+. Vos retours sont les bienvenus !
1 commentaires
C’est le genre de bibliothèque que j’aurais personnellement aimé avoir, donc je pense qu’elle sera très utile ! Même si c’est à la base une bibliothèque orientée Excel, je me dis qu’il serait aussi intéressant d’y ajouter des fonctionnalités d’export CSV ou PDF.