我使用以下代码设置单元格的背景色:
XSSFCellStyle cellStyle = (XSSFCellStyle) excelStyle.getCellStyle();
cellStyle.setFillForegroundColor(new XSSFColor(java.awt.Color.decode("#FFFF99")));
cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
但是它不适用于合并的单元格,无论我尝试设置什么,它总是变黑。 仅当我设置如下预定义颜色时,它才有效:
cellStyle.setFillForegroundColor(IndexedColors.CORAL.index);
颜色由用户定义,所以我不能使用IndexedColors
。另外,我无法创建自定义调色板颜色(如here所述,因为我的工作簿的类型为SXSSFWorkbook
,而不是HSSFWorkbook
。
如何设置合并单元格的背景颜色?
答案 0 :(得分:0)
我已尝试以下步骤并为我工作。
sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, 3));
经过大量调试后,我发现导致合并单元格始终为黑色的问题在行下方。
CellUtil.setAlignment(sheetSummary.getRow(0).getCell(4), HorizontalAlignment.CENTER_SELECTION);