4

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

当我将数据写入新单元格时,使用这些格式会很好。但是如果我使用createRowandcreateCell方法,单元格格式会被覆盖,并且我会得到所有单元格的 General。如果我尝试使用getRowandgetCell相反,我会遇到 NullPointerExceptions 检索空白单元格。

有没有办法使用模板中保存的预先存在的单元格格式?还是我通过 API 自己设置数据格式?

谢谢你的帮助。

4

2 回答 2

7

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

为了避免,如果行或单元格不存在,NullPointerException两者getRowgetCell可能分别返回。null您将需要调用createRow和/或createCell创建Cell您可以随时调用setCellStyle的 。

于 2013-10-15T20:22:14.027 回答
0

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

于 2013-12-11T19:37:42.203 回答