0
根據文檔,我們應該能夠加載帶樣式的模板,向其中寫入數據,然後輸出結果數據+樣式。但是,我們寫入的每個單元格都從模板中刪除了其格式,因此只有未寫入的單元格才具有格式。我們不能使用「添加」方法,因爲我們沒有具有相應屬性的域對象列表,我們有任意數組的數據。Grails excel-export覆蓋模板樣式
OutputStream outputStream = new ByteArrayOutputStream()
WebXlsxExporter xlsxExporter = new WebXlsxExporter(servletContext.getRealPath("/reporting/report_template.xlsx"))
xlsxExporter.putCellValue(0, 0, reportSchedule.report.title)
xlsxExporter.putCellValue(0, 3, new Date())
xlsxExporter.putCellValue(0, 6, response.time + "ms")
if (! response.rows.isEmpty()) {
int row = 1
headers = response.rows[0].keySet();
headers.eachWithIndex() {item, i ->
xlsxExporter.putCellValue(row, i, item.value.toString())
};
row++
response.rows.each {line ->
line.eachWithIndex { item, int i ->
xlsxExporter.putCellValue(row, i, item.value.toString())
}
row++
}
} else {
xlsxExporter.putCellValue(2,1, "No Data")
}
xlsxExporter.save(outputStream)
感謝您的答覆。我實際上嘗試過,但getCellAt在putCellValue之前調用它時會拋出一個空指針異常。我試過在setCellStyle後面再次調用putCellValue,但是這也沒做任何事。 –