2013-06-21 67 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。 –

相關問題