使用POI导出Excel,设置单元格样式对于后几行无效的问题
2019-11-27 本文已影响0人
李北北
使用Excel导出单元格的时候,根据单元格的格式,代码如下
//如果值是"-", 将其背景设置为灰色
if ("-".equals(value)) {
CellStyle cellStyle = workbook.createCellStyle();
cellStyle.cloneStyleFrom(normalStyle);
cellStyle.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex());
cell.setCellStyle(cellStyle);
}
结果使用WPS打开没问题,但是使用Word2016打开,有一些单元格样式并没有生效,如图:
WPS打开:
image.png
Word2016打开:
image.png
解决办法,如果单元格样式是一样的,不要每次都重新创建一个对象,只需要给需要的单元格设置同一个样式对象就可以了:
if ("-".equals(value)) {
cell.setCellStyle(grayStyle);
}