Apache POI for XSLX 3色缩放规则,如何定义这些方法createConditionalFormattingRule()& class ConditionalFormattingThreshold.RangeType?

时间:2015-08-23 08:31:02

标签: java apache-poi

此方法createConditionalFormattingColorScaleRule()在任何POI版本中都不可用,但在此链接Conditional Formatting Color Scale Rule中进行了解释 此接口ConditionalFormattingThreshold.RangeType在所有POI版本中都不可用,但在此链接Conditional Formatting Threshold Range Type

中进行了解释

请建议这些方法/接口是否需要由开发人员自己定义,或者他们是否仍在针对未来版本进行apache POI开发?

任何帮助/建议都将受到高度赞赏。感谢

1 个答案:

答案 0 :(得分:1)

Apache POI Changelog中所详述,在POI 3.13 beta 1之后添加了对条件格式颜色比例规则的支持。包含它的第一个版本是3.13 beta 2.(这应该会在几天内发布) ,在那之前你需要使用每晚构建)

您可以在Conditional Formatting unit tests中找到许多设置新色标CF规则的示例。从那里开始,你会想要像

这样的东西
Workbook wb = new XSSFWorkbook();
Sheet sheet = workbook.createSheet();

SheetConditionalFormatting sheetCF = sheet.getSheetConditionalFormatting();
ConditionalFormattingRule rule1 =
            sheetCF.createConditionalFormattingColorScaleRule();
ColorScaleFormatting clrFmt = rule1.getColorScaleFormatting();

clrFmt.getThresholds()[0].setRangeType(RangeType.MIN);
clrFmt.getThresholds()[1].setRangeType(RangeType.NUMBER);
clrFmt.getThresholds()[1].setValue(10d);
clrFmt.getThresholds()[2].setRangeType(RangeType.MAX);

CellRangeAddress [] regions = { CellRangeAddress.valueOf("A1:A5") };
sheetCF.addConditionalFormatting(regions, rule1);