如何使用Java代码

时间:2018-02-12 07:09:00

标签: java excel automation apache-poi

我正在尝试根据Testcase Execution状态格式化单元格背景颜色,就好像测试用例已通过,然后单元格背景应变为绿色,文本颜色应为白色< /强>

类似于失败的测试用例单元格背景颜色:红色和文本颜色:白色

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

背景

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

任何人都有正确的方法来应用细胞的背景吗?

由于

2 个答案:

答案 0 :(得分:1)

你正在摆弄错误。 Excel的单元格填充是图案填充。填充背景颜色是图案背后的颜色,填充前景颜色是图案的颜色。

因此,如果设置setFillBackgroundColor,那么您将设置图案后面的颜色,只有在图案有间隙且不牢固的情况下才能看到该颜色。

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

尝试

style.setFillForegroundColor(IndexedColors.GREEN.getIndex());
style.setFillPattern(FillPatternType.SOLID_FOREGROUND);

答案 1 :(得分:0)

它适用于以下几行:

style.setFillForegroundColor(IndexedColors.GREEN.getIndex())
style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND)