【发布时间】:2020-02-27 17:56:20
【问题描述】:
我正在尝试使用 poi api 基于公式创建条件格式。通过读取另一个(模板/参考)单元格来设置字体颜色。问题是当前的 api 不支持基于公式的条件的基于主题的颜色。我错过了什么吗?有什么办法可以做到吗?
public void test(XSSFCellStyle style, String complexFormula){
....
XSSFConditionalFormattingRule rule = (XSSFConditionalFormattingRule )
sheetCF.createConditionalFormattingRule(complexFormula);
XSSFConditionalFormattingRule (rule,style);
}
protected void createConditionalFormatingRules(XSSFConditionalFormattingRule rule, XSSFCellStyle style) {
XSSFFontFormatting fontFmt = (XSSFFontFormatting) rule.createFontFormatting();
XSSFFont font = style.getFont();
fontFmt.setFontColorIndex(font.getXSSFColor()); // BROKEN -- this doe not work for theme color
fontFmt.setFontHeight(font.getFontHeight());
fontFmt.setUnderlineType(font.getUnderline());
fontFmt.setFontStyle(font.getItalic(), font.getBold());
fontFmt.setEscapementType(FontFormatting.SS_NONE);
}
以上,fontFmt.setFontColorIndex(font.getXSSFColor()); 不适用于主题颜色。它适用于标准颜色。
poi-ooxml-4.1.0
感谢您调查我的问题!
【问题讨论】:
标签: java apache-poi openxml xssf