Apache POI Excel行颜色只有黑色,不会更改
我正在尝试使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它是完全黑色的。 这是我的excel文件的图片
如果您正在设置前景色,请使用
cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
如果您正在设置背景色,请使用
style.setFillPattern(FillPatternType.THICK_BACKWARD_DIAG);
要么
style.setFillPattern(FillPatternType.THIN_BACKWARD_DIAG);
如果在背景填充图案之前设置了前景填充图案,前景和背景颜色似乎是“叠加”(红色+蓝色=紫色),而不是相反。 还有其他几种填充图案可以select。 请注意,如果不更改默认的填充图案,则不会应用颜色。
这似乎违反直觉,但使用
style.setFillPattern(CellStyle.SOLID_FOREGROUND);
与…结合
style.setFillForegroundColor(IndexedColors.AQUA.getIndex());
设置单元格的背景颜色。
单元格背景本身可能还包含两层:前景和背景。