4 Punkte von abcdkh1209 2026-01-19 | 1 Kommentare | Auf WhatsApp teilen

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 @Excel und @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

 
hshim 2026-01-23

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.