首页 文章

Apache POI - 写入Excel模板而不覆盖现有的单元格格式

提问于
浏览
4

我正在使用Apache POI将数据写入Excel模板 . 该模板仅包含第一行的 Headers ,但我还将特定样式应用于整个列(例如,会计和百分比) .

当我将数据写入新单元格时,使用这些格式会很好 . 但是如果我使用 createRowcreateCell 方法,则会覆盖单元格格式,并且所有单元格都会获得General . 如果我尝试使用 getRowgetCell ,我会遇到检索空白单元格的NullPointerExceptions .

有没有办法使用模板中保存的预先存在的单元格格式?或者我是否因为API而无法自行设置数据格式?

谢谢你的帮助 .

2 回答

  • 6

    如果已将特定样式应用于整个列,则可以使用Sheet's getColumnStyle method检索 CellStyle ,并将基于0的列索引传递给它 . 它检索一个普通的 CellStyle 对象,可以在其他任何地方使用 CellStyle 被接受,例如Cell's setCellStyle method .

    为了避免 NullPointerException ,如果行或单元格不存在,则 getRowgetCell 都可以返回 null . 您需要调用 createRow 和/或 createCell 来创建 Cell ,您可以随时调用 setCellStyle .

  • 0

    cell.setCellStyle(sheet.getColumnStyle(index) 效果很好 .

相关问题