如何从Play Framework v2.x(Scala)生成Excell报告。我发现那里有一个Play-Excel模块,但它支持PlayFramework v1.0。有什么适合v2.x吗?
答案 0 :(得分:1)
最后,我选择使用Spoiwo. Scala Wrapper for Apache POI。它有一个简洁的入门指南。但是,PlayFramework没有示例。
这是我从案例类生成简单报告的快速而肮脏的黑客行为。
def generateReportXLSX(waybillId: Long) = Action{ implicit request =>
val headerStyle =
CellStyle(fillPattern = CellFill.Solid, fillForegroundColor = Color.DarkGrey, fillBackgroundColor = Color.AquaMarine, font = Font(bold = true))
val listItems: List[Item] = Items.findByWaybillId(waybillId)
val listRows = listItems.map{ item =>
Row().withCellValues(item.id.getOrElse(1), item.itemCode, item.senderName.getOrElse(""))
}
val gettingStartedSheet = Sheet(name = "Накладная ")
.withRows(listRows)
.withColumns(
Column(index = 0, style = CellStyle(font = Font(bold = true)), autoSized = true)
)
gettingStartedSheet.saveAsXlsx("/home/user/dumps/"+waybillId+".xlsx")
Ok.sendFile(new File(("/home/user/dumps/"+waybillId+".xlsx")))
}