List of usage examples for org.apache.poi.ss.usermodel ColorScaleFormatting setNumControlPoints
void setNumControlPoints(int num);
From source file:packtest.ConditionalFormats.java
License:Apache License
/** * Color Scales / Colour Scales / Colour Gradients allow you shade the * background colour of the cell based on the values, eg from Red to * Yellow to Green./*www .j a va2 s . c o m*/ */ static void colourScales(Sheet sheet) { sheet.createRow(0).createCell(0).setCellValue("Colour Scales"); Row r = sheet.createRow(1); r.createCell(0).setCellValue("Red-Yellow-Green"); for (int i = 1; i <= 7; i++) { r.createCell(i).setCellValue((i - 1) * 5); } r = sheet.createRow(2); r.createCell(0).setCellValue("Red-White-Blue"); for (int i = 1; i <= 9; i++) { r.createCell(i).setCellValue((i - 1) * 5); } r = sheet.createRow(3); r.createCell(0).setCellValue("Blue-Green"); for (int i = 1; i <= 16; i++) { r.createCell(i).setCellValue((i - 1)); } sheet.setColumnWidth(0, 5000); SheetConditionalFormatting sheetCF = sheet.getSheetConditionalFormatting(); CellRangeAddress[] regions = { CellRangeAddress.valueOf("B2:H2") }; ConditionalFormattingRule rule1 = sheetCF.createConditionalFormattingColorScaleRule(); ColorScaleFormatting cs1 = rule1.getColorScaleFormatting(); cs1.getThresholds()[0].setRangeType(RangeType.MIN); cs1.getThresholds()[1].setRangeType(RangeType.PERCENTILE); cs1.getThresholds()[1].setValue(50d); cs1.getThresholds()[2].setRangeType(RangeType.MAX); ((ExtendedColor) cs1.getColors()[0]).setARGBHex("FFF8696B"); ((ExtendedColor) cs1.getColors()[1]).setARGBHex("FFFFEB84"); ((ExtendedColor) cs1.getColors()[2]).setARGBHex("FF63BE7B"); sheetCF.addConditionalFormatting(regions, rule1); regions = new CellRangeAddress[] { CellRangeAddress.valueOf("B3:J3") }; ConditionalFormattingRule rule2 = sheetCF.createConditionalFormattingColorScaleRule(); ColorScaleFormatting cs2 = rule2.getColorScaleFormatting(); cs2.getThresholds()[0].setRangeType(RangeType.MIN); cs2.getThresholds()[1].setRangeType(RangeType.PERCENTILE); cs2.getThresholds()[1].setValue(50d); cs2.getThresholds()[2].setRangeType(RangeType.MAX); ((ExtendedColor) cs2.getColors()[0]).setARGBHex("FFF8696B"); ((ExtendedColor) cs2.getColors()[1]).setARGBHex("FFFCFCFF"); ((ExtendedColor) cs2.getColors()[2]).setARGBHex("FF5A8AC6"); sheetCF.addConditionalFormatting(regions, rule2); regions = new CellRangeAddress[] { CellRangeAddress.valueOf("B4:Q4") }; ConditionalFormattingRule rule3 = sheetCF.createConditionalFormattingColorScaleRule(); ColorScaleFormatting cs3 = rule3.getColorScaleFormatting(); cs3.setNumControlPoints(2); cs3.getThresholds()[0].setRangeType(RangeType.MIN); cs3.getThresholds()[1].setRangeType(RangeType.MAX); ((ExtendedColor) cs3.getColors()[0]).setARGBHex("FF5A8AC6"); ((ExtendedColor) cs3.getColors()[1]).setARGBHex("FF63BE7B"); sheetCF.addConditionalFormatting(regions, rule3); }