使用 Apache POI 更改行的背景颜色

Change background color of row with Apache POI

我尝试使用 Apache POI 来更改一行中单元格的背景颜色。我在 xls 文件中使用下面的代码来处理它,但是执行后文件没有任何变化。

FileInputStream fis = new FileInputStream(src);
HSSFWorkbook wb = new HSSFWorkbook(fis);                
r = sheet.getRow(5);
CellStyle style = wb.createCellStyle();
style.setFillForegroundColor(IndexedColors.RED.getIndex());
r.setRowStyle(style);

单元格的样式必须这样定义。

HSSFCellStyle tCs = wb.createCellStyle();
tCs.setFillPattern(FillPatternType.SOLID_FOREGROUND);
tCs.setFillForegroundColor(IndexedColors.YELLOW.getIndex());

它必须应用于每个需要这种样式的单元格。

for (int k = 0; k < sheet.getRow(5).getLastCellNum(); k++) {
   sheet.getRow(i).getCell(k).setCellStyle(tCs);
}