4 poin oleh abcdkh1209 2026-01-19 | 1 komentar | Bagikan ke WhatsApp

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

 
hshim 2026-01-23

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.