2013-06-21 27 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); 

これは、REDでセルの背景色を塗りつぶします。

+0

回答ありがとうございますが、これはまだ私のために働いていません。何故かはわからない。私はデバッグモードにあり、コードが実行されることを確認しますが、.xlsxブックの色は変更されません。何か案は?それは、私が赤色にしようとしている細胞には、まだ黄色の塗りつぶしが入っているという事実とは関係がありますか? –

+1

Richie:Excelシートの変更を確認するには、このためにWriteコマンドを実行する必要があります。デバッグモードで表示される前に実行されたworkbook.write(fileoutputstream)コマンドを確認してください。 – Sankumarsingh

+0

私は遅れた応答に謝罪します。それが問題でした!私はあなたがファイルを書き直すことを認識していませんでした!ありがとう、リッチ。 –

関連する問題