我正在尝试制作excel文件背景一行白色和其他浅绿色。但出于某种原因,无论我做什么,颜色总是变成黑色。
private void writeTable(Table table, Row row, CellStyle style){
if(row.getRowNum() % 2 == 0) {
style.setFillBackgroundColor(IndexedColors.AQUA.getIndex());
style.setFillPattern(CellStyle.SOLID_FOREGROUND);
}
style.setWrapText(true);
Cell cell = row.createCell(0);
cell.setCellValue(table.index);
cell.setCellStyle(style);
//And it continues with other cells
}
它不会改变我做的任何事情,即使我尝试GREY_25_PERCENT它完全是黑色的。 Here's picture of my excel file
答案 0 :(得分:2)
这似乎违反直觉,但使用
style.setFillPattern(CellStyle.SOLID_FOREGROUND);
与
结合使用style.setFillForegroundColor(IndexedColors.AQUA.getIndex());
设置单元格的背景颜色。
单元格背景本身可能还包含两个层:前景和背景。
答案 1 :(得分:0)
尝试使用
style.setFillPattern(FillPatternType.SOLID_FOREGROUND);
代替
style.setFillPattern(CellStyle.SOLID_FOREGROUND);
它与Apache POI 4.1.1兼容