kotlin-excel-dsl - Gerando arquivos Excel com segurança de tipos usando uma DSL em Kotlin
(github.com/clroot)Sempre que eu criava arquivos Excel em Kotlin, o código verboso do Apache POI era incômodo. Para criar uma única célula, era preciso passar por Workbook → Sheet → Row → Cell, e aplicar estilos era ainda mais complexo.
Por isso, criei uma biblioteca que simplifica a geração de Excel com uma DSL em Kotlin.
GitHub: https://github.com/clroot/kotlin-excel-dsl
Características
- Híbrido de DSL + anotações: para casos complexos, use DSL; para casos simples, as anotações
@Excele@Column - Type-safe: valida erros de configuração em tempo de compilação
- Sintaxe de estilo CSS: definição de estilos intuitiva
- Temas padrão incluídos: Modern, Minimal, Classic
- Agrupamento de cabeçalhos: cabeçalhos de múltiplas linhas e mesclagem automática de células
Exemplo de uso
// 방식 DSL
excel {
sheet<User>("Users") {
column("이름") { it.name }
column("나이") { it.age }
column("가입일") { it.joinedAt }
rows(users)
}
}.writeTo(FileOutputStream("users.xlsx"))
// 방식 de anotações
@Excel
data class User(
@Column("이름") val name: String,
@Column("나이") val age: Int
)
excelOf(users).writeTo(output)
Aplicação de estilos
excel {
styles {
header { bold(); backgroundColor(Color.GRAY) }
column("금액") {
body { align(Alignment.RIGHT); numberFormat("#,##0") }
}
}
// ...
}
Instalação
implementation("io.clroot.excel:excel-dsl:0.1.0")
Pode ser usado em ambientes com Kotlin 2.2.0+ e JDK 21+. Feedback é bem-vindo!
1 comentários
Pessoalmente, parece ser uma biblioteca que eu queria que existisse, então acho que vou conseguir usá-la de forma bem útil! Embora pessoalmente seja uma biblioteca baseada em Excel, fico pensando se não seria interessante incluir também recursos de exportação para CSV ou PDF.