我可以创建具有色阶条件格式的效果(其中单元格的前景色根据当前单元格值与范围内所有单元格的值的比较而变化),但是我似乎找不到 Excel 的实现条件格式。 Apache POI 有能力创建这样的格式化规则吗?
最佳答案
答案是肯定的,在 Apache POI 3.16 版本中。
sheet.getSheetConditionalFormatting().createConditionalFormattingColorScaleRule()
阅读这篇文章,了解添加时间的详细信息(3.13 beta 2): https://stackoverflow.com/a/32164925/231860
@Test
public void testCreateColorScaleFormatting() throws IOException {
Workbook wb1 = _testDataProvider.createWorkbook();
Sheet sheet = wb1.createSheet();
SheetConditionalFormatting sheetCF = sheet.getSheetConditionalFormatting();
ConditionalFormattingRule rule1 =
sheetCF.createConditionalFormattingColorScaleRule();
ColorScaleFormatting clrFmt = rule1.getColorScaleFormatting();
assertEquals(3, clrFmt.getNumControlPoints());
assertEquals(3, clrFmt.getColors().length);
assertEquals(3, clrFmt.getThresholds().length);
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);
关于java - Apache POI 可以将 "color scale"条件格式应用于某个范围吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25295776/