简单的POI背景填充问题

时间:2016-03-14 16:39:57

标签: java excel apache-poi

我使用的是poi 3.14,我想要的是将单元格的背景设置为橙色。我不想要一个图案填充,只是一个坚实的橙色,但我无法让它工作。这就是我所拥有的:

    Row row = sheet.createRow(currentRow);

    CellStyle style = workbook.createCellStyle();
    style.setFillForegroundColor(IndexedColors.AUTOMATIC.getIndex());
    style.setFillBackgroundColor(IndexedColors.ORANGE.getIndex());
    style.setFillPattern(CellStyle.ALIGN_FILL);

    Cell cell = row.createCell(0);
    cell.setCellValue("ABCDEFG");
    cell.setCellStyle(style);

我最终得到的是带有small dots图案的橙色背景。在Excel的属性表中,它表​​示我有bg=orange, fg=automatic, pattern=25% Gray。我怎样才能使用空白图案样式?

1 个答案:

答案 0 :(得分:8)

首先看起来不直观,但public enum ThreeDSecureStatus { NONE, OK, NOAUTH, CANTAUTH, NOTAUTHED, ATTEMPTONLY, NOTCHECKED, INCOMPLETE, MALFORMED, INVALID, ERROR, NOTAVAILABLE //<--- Add this } 方法实际上设置了背景填充的前景色而不是文本(首先想到的是前景)。同样,您需要使用setFillForegroundColor作为填充模式。请参阅下面的工作版本。

CellStyle.SOLID_FOREGROUND

有关更多示例,请参阅poi用户指南:http://poi.apache.org/spreadsheet/quick-guide.html#FillsAndFrills