Apache POI XSSF中的条件格式自定义颜色

时间:2016-05-02 19:57:06

标签: java excel apache colors xssf

我正在尝试使用XSSF工作表中的ConditionalFormatting设置自定义颜色以填充行。

我试过

SheetConditionalFormatting sheetCF = sheet.getSheetConditionalFormatting();
ConditionalFormattingRule rule1 = sheetCF.createConditionalFormattingRule("MOD(ROW(),2)=0");
PatternFormatting fill1 = rule1.createPatternFormatting();
XSSFColor customColor = new XSSFColor(new byte[] {alpha, red, green, blue});


fill1.setFillForegroundColor(new XSSFColor(new java.awt.Color(128, 0, 128))); //1
fill1.setFillForegroundColor(customColor); //2

这两个都不起作用。它不接受XSSFColor。

我看到了这个Bug Report,并试图在那里列出的“黑客”工作,并且再次,都没有工作。 the doc也没有帮助。

我明白这样做:

setFillForegroundColor(new XSSFColor(new java.awt.Color(red,green,blue)));      

可能适用于单个细胞。

我遇到的大多数解决方案都是几年前似乎没有用。我只需要一个能够输入自定义RGB或Hex颜色作为 XSSF表中的条件格式。

任何帮助?

此外,我正在运行POI 3.9以避免解析错误,例如: thisthis

1 个答案:

答案 0 :(得分:0)

我刚刚创建了一个for loop来为每种颜色(short)创建一个新规则。它从62左右逐渐消失,从那里到80有几种不同的色调。 不完全习惯,但至少我可以将颜色附加到数字上。