kotlin-excel-dsl - สร้างไฟล์ Excel แบบ type-safe ด้วย Kotlin DSL
(github.com/clroot)ทุกครั้งที่ต้องสร้างไฟล์ Excel ใน Kotlin โค้ดที่ยืดยาวของ Apache POI มักทำให้ใช้งานไม่สะดวก ต้องไล่จาก Workbook → Sheet → Row → Cell แม้จะสร้างเพียงเซลล์เดียว และการใส่สไตล์ก็ยิ่งซับซ้อนกว่าเดิม
จึงได้สร้างไลบรารีที่ทำให้การสร้าง Excel ง่ายขึ้นด้วย Kotlin DSL
GitHub: https://github.com/clroot/kotlin-excel-dsl
คุณสมบัติ
- ไฮบริด DSL + annotation: กรณีซับซ้อนใช้ DSL, กรณีเรียบง่ายใช้ annotation
@Excel,@Column - Type-safe: ตรวจสอบข้อผิดพลาดของการตั้งค่าได้ตั้งแต่คอมไพล์ไทม์
- ไวยากรณ์สไตล์แบบ CSS: กำหนดสไตล์ได้อย่างเข้าใจง่าย
- มีธีมพื้นฐานให้: Modern, Minimal, Classic
- Header group: หัวตารางหลายแถวและรวมเซลล์อัตโนมัติ
ตัวอย่างการใช้งาน
// 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)
การใช้สไตล์
excel {
styles {
header { bold(); backgroundColor(Color.GRAY) }
column("금액") {
body { align(Alignment.RIGHT); numberFormat("#,##0") }
}
}
// ...
}
การติดตั้ง
implementation("io.clroot.excel:excel-dsl:0.1.0")
สามารถใช้งานได้ในสภาพแวดล้อม Kotlin 2.2.0+ และ JDK 21+ ยินดีรับฟีดแบ็ก!
1 ความคิดเห็น
เป็นไลบรารีที่ส่วนตัวอยากให้มีอยู่พอดี เลยน่าจะได้ใช้งานอย่างมีประโยชน์ครับ! แม้โดยส่วนตัวจะเป็นไลบรารีที่อิงกับ Excel แต่ก็คิดว่าน่าจะดีไม่น้อยถ้ามีฟีเจอร์ export เป็น CSV หรือ PDF เพิ่มเข้ามาด้วย