Apache POI Excel行颜色仅为黑色且不会更改

时间:2017-09-12 10:24:58

标签: java excel apache-poi

我正在尝试制作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

2 个答案:

答案 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兼容