我使用的是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
。我怎样才能使用空白图案样式?
答案 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。