无法设置填充颜色 Apache POI Excel 工作簿
Posted
技术标签:
【中文标题】无法设置填充颜色 Apache POI Excel 工作簿【英文标题】:Can't Set Fill Color Apache POI Excel Workbook 【发布时间】:2013-06-19 01:46:46 【问题描述】:我一遍又一遍地扫描这个论坛并尝试了这里提到的所有方法,但仍然无法让 Apache POI 更改以填充我的 excel 文档的背景颜色。
这是我的代码:
errorOccured = true;
XSSFCellStyle cs = workbook.createCellStyle();
cs.setFillBackgroundColor(IndexedColors.RED.getIndex());
row.getCell(0).setCellStyle(cs);
你知道为什么这行不通吗?让row.getCell(0)
填充红色(背景色)的正确方法是什么?
谢谢!
【问题讨论】:
【参考方案1】:使用前景色代替背景色。
errorOccured = true;
XSSFCellStyle style = workbook.createCellStyle();
style.setFillForegroundColor(IndexedColors.RED.getIndex());
style.setFillPattern(FillPatternType.SOLID_FOREGROUND);
row.getCell(0).setCellStyle(style);
这将用红色填充单元格背景颜色。
【讨论】:
感谢您的回答,但这仍然不适合我。我不知道为什么。我处于调试模式,我确认代码已执行,但它不会更改 .xlsx 工作簿中的任何颜色。有任何想法吗?这与我试图变红的单元格已经用黄色填充填充这一事实有关吗? Richie:为了查看 excel 表中的变化,您需要为此执行写入命令。请确认 workbook.write(fileoutputstream) 命令在调试模式下是否执行过? 我为延迟响应表示歉意。这就是问题所在!我没有意识到你有重写文件!非常感谢,Rich。 这行得通,虽然为了改变背景而改变前景有点奇怪 setFillPattern() 是一个关键元素。以上是关于无法设置填充颜色 Apache POI Excel 工作簿的主要内容,如果未能解决你的问题,请参考以下文章