使用 Apache POI 在条件格式中自定义背景颜色

Posted

技术标签:

【中文标题】使用 Apache POI 在条件格式中自定义背景颜色【英文标题】:Custom background color in conditional formatting using Apache POI 【发布时间】:2014-12-28 14:47:07 【问题描述】:

我有一个 XSSF 工作簿,我想在定义了条件格式的一组单元格中定义自定义背景颜色,但问题是 PatternFormatting 类中的 setFillBackgroundColor() 方法只接受类型短参数,而不是像这样的XSSFColor

PatternFormatting fill = rule1.createPatternFormatting();
fill.setFillBackgroundColor(new XSSFColor(new java.awt.Color(80, 80, 100));
fill.setFillPattern(PatternFormatting.SOLID_FOREGROUND);

我可以fill.setFillBackgroundColor(IndexedColors.RED.index),但我想定义一个自定义颜色。我该怎么做?。

【问题讨论】:

fill.setFillBackgroundColor(new XSSFColor(new java.awt.Color(80, 80, 100)); 是自定义 R=80 G=80 B=100 对吗?使用它有什么问题? @Angga 问题是PatternFormatting 类中的setFillBackgroundColor() 方法只接受类型短参数,而不接受XSSFColor 相关:***.com/questions/10912578/… 【参考方案1】:

对于仍在阅读本文并遇到请求者在 2014 年描述的问题的任何人,您可能使用的是 3.13 之前的 Apache POI 版本。尝试升级到至少 3.13,您确实应该能够做到:

fill.setFillBackgroundColor(new XSSFColor(new java.awt.Color(80, 80, 100))

(另见此处:https://bz.apache.org/bugzilla/show_bug.cgi?id=56774)

【讨论】:

以上是关于使用 Apache POI 在条件格式中自定义背景颜色的主要内容,如果未能解决你的问题,请参考以下文章

Java从Apache poi获取excel单元格背景颜色

WebGIS中自定义互联网地图局部注记的一种方案

WebGIS中自定义互联网地图局部注记的一种方案

如何用Apache POI读取Excel的单元格自定义名称的值

在 SWIFT 中自定义 UITableview 的第一行

APACHE POI - 无法为单元格提供背景颜色