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());
设置单元格的背景颜色。
单元格背景本身可能还包含两层:前景和背景。
- 如何获取数据透视表最后一次使用POI + Java填充行号。 -version 3.12.x
- 我的错误在哪里?
- Apache POI Excel表单公式引用另一个工作表
- xlsx分析:其中XML值与单元格值不同
- 使用Apache POI库检索excel中属性(列)的唯一值列表
- Java的Apache POI java.lang.IllegalArgumentException:位置21504超过文件的末尾
- 如何使用Apache POI将标题添加到工作簿中的多个工作表
- 获取IllegalArgumentException:注册一个函数Apache poi时未知的函数
- ResultSet到Excel(* .xlsx)表使用Apache POI