Search in sources :

Example 1 with CFRecordsAggregate

use of org.apache.poi.hssf.record.aggregates.CFRecordsAggregate in project poi by apache.

the class HSSFSheetConditionalFormatting method addConditionalFormatting.

/**
     * Allows to add a new Conditional Formatting set to the sheet.
     *
     * @param regions - list of rectangular regions to apply conditional formatting rules
     * @param cfRules - set of up to three conditional formatting rules
     *
     * @return index of the newly created Conditional Formatting object
     */
public int addConditionalFormatting(CellRangeAddress[] regions, HSSFConditionalFormattingRule[] cfRules) {
    if (regions == null) {
        throw new IllegalArgumentException("regions must not be null");
    }
    for (CellRangeAddress range : regions) range.validate(SpreadsheetVersion.EXCEL97);
    if (cfRules == null) {
        throw new IllegalArgumentException("cfRules must not be null");
    }
    if (cfRules.length == 0) {
        throw new IllegalArgumentException("cfRules must not be empty");
    }
    if (cfRules.length > 3) {
        throw new IllegalArgumentException("Number of rules must not exceed 3");
    }
    CFRuleBase[] rules = new CFRuleBase[cfRules.length];
    for (int i = 0; i != cfRules.length; i++) {
        rules[i] = cfRules[i].getCfRuleRecord();
    }
    CFRecordsAggregate cfra = new CFRecordsAggregate(regions, rules);
    return _conditionalFormattingTable.add(cfra);
}
Also used : CFRuleBase(org.apache.poi.hssf.record.CFRuleBase) CFRecordsAggregate(org.apache.poi.hssf.record.aggregates.CFRecordsAggregate) CellRangeAddress(org.apache.poi.ss.util.CellRangeAddress)

Aggregations

CFRuleBase (org.apache.poi.hssf.record.CFRuleBase)1 CFRecordsAggregate (org.apache.poi.hssf.record.aggregates.CFRecordsAggregate)1 CellRangeAddress (org.apache.poi.ss.util.CellRangeAddress)1