我正在使用POI在Java中创建Excel电子表格。我有用于创建标题行下面的代码:设置HSSFCellStyle的前景色始终为黑色
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("Report");
// some more code
HSSFRow row = sheet.createRow(0);
HSSFCell cell = row.createCell(cellNumber);
HSSFCellStyle cellStyle = wb.createCellStyle();
cellStyle.setFillBackgroundColor(HSSFColor.GREY_25_PERCENT.index);
cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
HSSFFont font = wb.createFont();
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
font.setColor(HSSFColor.WHITE.index);
cellStyle.setFont(font);
cell.setCellStyle(cellStyle);
我遇到的问题是,设置在单元格的填充背景色永远是黑色的,不管我选择什么颜色。我究竟做错了什么?如果我不使用“setFillPattern”行,则根本不显示任何颜色。
啊,我明白了。我需要改变前景色来改变背景色 - 天才! – Pakman 2012-10-18 21:10:24
保存了许多小时的绝望,¿是否有人知道为什么这样工作? – CGK 2013-10-29 14:43:02
我认为这个单元格是由前景和背景像素组成的图案。如果您使用SOLID_FOREGROUND,则只有前景像素可见。该颜色与用于呈现文字的颜色不同,后者是用字体设置的。 – Axel 2014-02-20 12:48:38