kotlin-excel-dsl – Excel-Dateien typsicher mit einer Kotlin-DSL erzeugen
(github.com/clroot)Beim Erstellen von Excel-Dateien in Kotlin war der ausschweifende Code von Apache POI jedes Mal umständlich. Schon um nur eine einzige Zelle anzulegen, muss man Workbook → Sheet → Row → Cell durchlaufen, und das Anwenden von Styles ist noch komplizierter.
Deshalb habe ich eine Bibliothek entwickelt, die die Erstellung von Excel-Dateien mit einer Kotlin-DSL vereinfacht.
GitHub: https://github.com/clroot/kotlin-excel-dsl
Merkmale
- DSL- + Annotation-Hybrid: Bei komplexen Fällen DSL, bei einfachen Fällen die Annotationen
@Excelund@Column - Typsicher: Validierung von Konfigurationsfehlern zur Compile-Zeit
- CSS-Style-Syntax: Intuitive Stildefinition
- Standard-Themes enthalten: Modern, Minimal, Classic
- Header-Gruppen: Mehrzeilige Header und automatisches Zusammenführen von Zellen
Verwendungsbeispiel
// 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)
Styles anwenden
excel {
styles {
header { bold(); backgroundColor(Color.GRAY) }
column("금액") {
body { align(Alignment.RIGHT); numberFormat("#,##0") }
}
}
// ...
}
Installation
implementation("io.clroot.excel:excel-dsl:0.1.0")
Nutzbar in Umgebungen mit Kotlin 2.2.0+ und JDK 21+. Feedback ist willkommen!
1 Kommentare
Das ist eine Bibliothek, die ich mir persönlich schon immer gewünscht habe, daher denke ich, dass sie sehr nützlich sein wird! Auch wenn es sich persönlich um eine Excel-basierte Bibliothek handelt, fände ich es interessant, wenn zusätzlich CSV- oder PDF-Exportfunktionen enthalten wären.