小编典典

如何使用Java代码使用HSSF应用单元格背景色

java

我正在尝试根据测试用例执行状态设置单元格背景颜色的格式,例如如果测试用例通过,则单元格背景应变为 绿色 ,文本颜色应为 白色

同样,对于失败的测试用例,单元格背景颜色: 红色 和文本颜色: 白色

为此,我尝试了以下脚本。

背景:

HSSFCellStyle style = wBook.createCellStyle()
style.setFillBackgroundColor(IndexedColors.GREEN.getIndex())

前景:

HSSFFont font = wBook.createFont()
font.setColor(HSSFColor.WHITE.index)
style.setFont(font)
resultCell.setCellStyle(style)

但是在执行测试用例后,单元格背景不适用,而仅前景适用。

仅供参考: 我正在使用Excel版本.XLS

有人提供正确的方法来应用细胞背景吗?

谢谢


阅读 365

收藏
2020-11-30

共1个答案

小编典典

您在摆弄错。Excel的单元格填充是图案填充。填充背景色是图案后面的颜色,而填充前景色和图案的颜色。

因此,如果设置setFillBackgroundColor,那么您将在图案后面设置颜色,该颜色仅在图案有间隙且不是实心时才可见。

通常,使用SOLID_FOREGROUND模式填充单元格。因此,需要图案的颜色,而不是图案后面的颜色。

尝试

style.setFillForegroundColor(IndexedColors.GREEN.getIndex());
style.setFillPattern(FillPatternType.SOLID_FOREGROUND);
2020-11-30