【问题标题】:Can't Set Fill Color Apache POI Excel Workbook无法设置填充颜色 Apache POI Excel 工作簿
【发布时间】: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) 填充红色(背景色)的正确方法是什么?

谢谢!

【问题讨论】:

    标签: java colors background apache-poi fill


    【解决方案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() 是一个关键元素。
    猜你喜欢
    • 2019-01-31
    • 1970-01-01
    • 1970-01-01
    • 2017-04-19
    • 2023-04-01
    • 1970-01-01
    • 2018-11-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多