web-dev-qa-db-ja.com

塗りつぶしの色を設定できない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)を赤(背景色)で塗りつぶす正しい方法は何ですか?

ありがとうございました!

28
Richie Episcopo

背景色の代わりに前景色を使用します。

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

これにより、セルの背景色が赤で塗りつぶされます。

59
Sankumarsingh