2013-06-21 45 views
25

我一遍又一遍地扫描了这个论坛,并尝试了这里提到的每种方法,仍然无法获得Apache POI来更改填充我的Excel文档的背景颜色。无法设置填充颜色Apache POI Excel工作簿

这里是我的代码:

errorOccured = true; 
XSSFCellStyle cs = workbook.createCellStyle(); 
cs.setFillBackgroundColor(IndexedColors.RED.getIndex()); 
row.getCell(0).setCellStyle(cs); 

你知道为什么这是行不通的? row.getCell(0)填充红色(背景颜色)的正确方法是什么?

谢谢!

回答

51

使用背景颜色代替背景颜色。

errorOccured = true; 
XSSFCellStyle style = workbook.createCellStyle(); 
style.setFillForegroundColor(IndexedColors.RED.getIndex()); 
style.setFillPattern(FillPatternType.SOLID_FOREGROUND); 
row.getCell(0).setCellStyle(style); 

这会用红色填充单元格背景颜色。

+0

感谢您的回答,但这仍然不适合我。我不知道为什么。我处于调试模式,并确认代码已执行,但不会更改.xlsx工作簿中的任何颜色。有任何想法吗?这与我试图变成红色的细胞已经填满黄色填充物的事实有什么关系? –

+1

Richie:为了查看excel工作表中的更改,您需要为此执行Write命令。在调试模式下看到之前请确认执行了workbook.write(fileoutputstream)命令吗? – Sankumarsingh

+0

我对延迟响应采取了apoligize。这是问题!我没有意识到你有重写这个文件!非常感谢,Rich。 –

相关问题