kotlin-excel-dsl - Membuat file Excel secara type-safe dengan Kotlin DSL
(github.com/clroot)Setiap kali membuat file Excel di Kotlin, saya merasa tidak nyaman dengan kode Apache POI yang bertele-tele. Untuk membuat satu sel saja harus melalui Workbook → Sheet → Row → Cell, dan penerapan style bahkan lebih rumit.
Karena itu, saya membuat library yang menyederhanakan pembuatan Excel dengan Kotlin DSL.
GitHub: https://github.com/clroot/kotlin-excel-dsl
Fitur
- Hibrida DSL + anotasi: untuk kasus kompleks gunakan DSL, untuk kasus sederhana gunakan anotasi
@Exceldan@Column - Type-safe: memverifikasi kesalahan konfigurasi saat compile time
- Sintaks style ala CSS: definisi style yang intuitif
- Menyediakan tema bawaan: Modern, Minimal, Classic
- Grup header: header multi-baris dan penggabungan sel otomatis
Contoh penggunaan
// 방식 DSL
excel {
sheet<User>("Users") {
column("이름") { it.name }
column("나이") { it.age }
column("가입일") { it.joinedAt }
rows(users)
}
}.writeTo(FileOutputStream("users.xlsx"))
// 방식 anotasi
@Excel
data class User(
@Column("이름") val name: String,
@Column("나이") val age: Int
)
excelOf(users).writeTo(output)
Penerapan style
excel {
styles {
header { bold(); backgroundColor(Color.GRAY) }
column("금액") {
body { align(Alignment.RIGHT); numberFormat("#,##0") }
}
}
// ...
}
Instalasi
implementation("io.clroot.excel:excel-dsl:0.1.0")
Dapat digunakan di lingkungan Kotlin 2.2.0+ dan JDK 21+. Masukan sangat kami nantikan!
1 komentar
Secara pribadi ini terasa seperti library yang memang saya harapkan ada, jadi sepertinya akan sangat berguna! Menurut saya, meski ini adalah library berbasis Excel, akan menarik juga kalau ditambahkan fitur ekspor CSV atau PDF.