我正在使用Apache POI将数据写入Excel模板 . 该模板仅包含第一行的 Headers ,但我还将特定样式应用于整个列(例如,会计和百分比) .
当我将数据写入新单元格时,使用这些格式会很好 . 但是如果我使用 createRow
和 createCell
方法,则会覆盖单元格格式,并且所有单元格都会获得General . 如果我尝试使用 getRow
和 getCell
,我会遇到检索空白单元格的NullPointerExceptions .
有没有办法使用模板中保存的预先存在的单元格格式?或者我是否因为API而无法自行设置数据格式?
谢谢你的帮助 .
2 回答
如果已将特定样式应用于整个列,则可以使用Sheet's getColumnStyle method检索
CellStyle
,并将基于0的列索引传递给它 . 它检索一个普通的CellStyle
对象,可以在其他任何地方使用CellStyle
被接受,例如Cell's setCellStyle method .为了避免
NullPointerException
,如果行或单元格不存在,则getRow
和getCell
都可以返回null
. 您需要调用createRow
和/或createCell
来创建Cell
,您可以随时调用setCellStyle
.cell.setCellStyle(sheet.getColumnStyle(index)
效果很好 .