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

4

我有一个XSSF工作簿,我想在一组条件格式定义的单元格中定义自定义背景颜色,但问题是PatternFormatting类中的setFillBackgroundColor()方法只接受类型为short的参数,而不像这样的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
@Angga 问题在于PatternFormatting类中的setFillBackgroundColor()方法只接受短类型参数,而不是XSSFColor - edkalel
related: https://dev59.com/ZGgv5IYBdhLWcg3wBMIK - Maxwell Cheng
1个回答

0

如果仍然有人在阅读这篇文章,并且遇到了2014年的请求者所描述的问题,那么您可能正在使用Apache POI 3.13之前的版本。请尝试升级至至少3.13,您应该能够执行以下操作:

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

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接