4 คะแนน โดย abcdkh1209 2026-01-19 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

ทุกครั้งที่ต้องสร้างไฟล์ 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 ความคิดเห็น

 
hshim 2026-01-23

เป็นไลบรารีที่ส่วนตัวอยากให้มีอยู่พอดี เลยน่าจะได้ใช้งานอย่างมีประโยชน์ครับ! แม้โดยส่วนตัวจะเป็นไลบรารีที่อิงกับ Excel แต่ก็คิดว่าน่าจะดีไม่น้อยถ้ามีฟีเจอร์ export เป็น CSV หรือ PDF เพิ่มเข้ามาด้วย