kotlin-excel-dsl - Kotlin DSL ile Excel dosyalarını tip güvenli şekilde oluşturma
(github.com/clroot)Kotlin'de her Excel dosyası oluşturduğumda Apache POI'nin ayrıntılı kodları rahatsız edici oluyordu. Tek bir hücre oluşturmak için Workbook → Sheet → Row → Cell zincirinden geçmek gerekiyor, stil uygulamak ise daha da karmaşık.
Bu yüzden Kotlin DSL ile Excel oluşturmayı basitleştiren bir kütüphane geliştirdim.
GitHub: https://github.com/clroot/kotlin-excel-dsl
Özellikler
- DSL + anotasyon hibriti: Karmaşık durumlarda DSL, basit durumlarda
@Excel,@Columnanotasyonları - Tip güvenliği: Yapılandırma hatalarını derleme zamanında doğrulama
- CSS stil sözdizimi: Sezgisel stil tanımı
- Hazır tema desteği: Modern, Minimal, Classic
- Başlık grupları: Çok satırlı başlıklar ve otomatik hücre birleştirme
Kullanım örneği
// 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)
Stil uygulama
excel {
styles {
header { bold(); backgroundColor(Color.GRAY) }
column("금액") {
body { align(Alignment.RIGHT); numberFormat("#,##0") }
}
}
// ...
}
Kurulum
implementation("io.clroot.excel:excel-dsl:0.1.0")
Kotlin 2.2.0+ ve JDK 21+ ortamlarında kullanılabilir. Geri bildirimlere açığım!
1 yorum
Benim de olmasını istediğim bir kütüphaneydi, bu yüzden oldukça faydalı kullanacağımı düşünüyorum! Temelde Excel tabanlı bir kütüphane olsa da, içine CSV veya PDF export özelliği de eklenirse nasıl olur diye düşünüyorum.