Class HSSFConditionalFormatting

  • All Implemented Interfaces:
    ConditionalFormatting

    public final class HSSFConditionalFormatting
    extends java.lang.Object
    implements ConditionalFormatting
    HSSFConditionalFormatting class encapsulates all settings of Conditional Formatting. The class can be used
    • to make a copy HSSFConditionalFormatting settings.
    • For example:
       HSSFConditionalFormatting cf = sheet.getConditionalFormattingAt(index);
       newSheet.addConditionalFormatting(cf);
       
    • or to modify existing Conditional Formatting settings (formatting regions and/or rules).
    Use HSSFSheet.getSheetConditionalFormatting() to get access to an instance of this class.

    To create a new Conditional Formatting set use the following approach:

     
     // Define a Conditional Formatting rule, which triggers formatting
     // when cell's value is greater or equal than 100.0 and
     // applies patternFormatting defined below.
     HSSFConditionalFormattingRule rule = sheet.createConditionalFormattingRule(
         ComparisonOperator.GE, 
         "100.0", // 1st formula 
         null     // 2nd formula is not used for comparison operator GE
     );
     
     // Create pattern with red background
     HSSFPatternFormatting patternFmt = rule.cretePatternFormatting();
     patternFormatting.setFillBackgroundColor(HSSFColor.RED.index);
     
     // Define a region containing first column
     Region [] regions =
     {
         new Region(1,(short)1,-1,(short)1)
     };
         
     // Apply Conditional Formatting rule defined above to the regions  
     sheet.addConditionalFormatting(regions, rule);
     
    • Method Detail

      • setRule

        public void setRule​(int idx,
                            HSSFConditionalFormattingRule cfRule)
        Replaces an existing Conditional Formatting rule at position idx. Older versions of Excel only allow up to 3 Conditional Formatting rules, and will ignore rules beyond that, while newer versions are fine. This method can be useful to modify existing Conditional Formatting rules.
        Parameters:
        idx - position of the rule. Should be between 0 and 2 for older Excel versions
        cfRule - - Conditional Formatting rule
      • setRule

        public void setRule​(int idx,
                            ConditionalFormattingRule cfRule)
        Description copied from interface: ConditionalFormatting
        Replaces an existing Conditional Formatting rule at position idx. Excel pre-2007 allows to create up to 3 Conditional Formatting rules, 2007 and later allow unlimited numbers. This method can be useful to modify existing Conditional Formatting rules.
        Specified by:
        setRule in interface ConditionalFormatting
        Parameters:
        idx - position of the rule. Should be between 0 and 2 for Excel before 2007, otherwise 0+.
        cfRule - - Conditional Formatting rule
      • addRule

        public void addRule​(HSSFConditionalFormattingRule cfRule)
        add a Conditional Formatting rule. Excel allows to create up to 3 Conditional Formatting rules.
        Parameters:
        cfRule - - Conditional Formatting rule
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object