org.apache.poi.hssf.usermodel
Class HSSFConditionalFormatting

java.lang.Object
  extended by org.apache.poi.hssf.usermodel.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

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 Summary
 void addRule(ConditionalFormattingRule cfRule)
          Add a Conditional Formatting rule.
 void addRule(HSSFConditionalFormattingRule cfRule)
          add a Conditional Formatting rule.
 CellRangeAddress[] getFormattingRanges()
           
 int getNumberOfRules()
           
 HSSFConditionalFormattingRule getRule(int idx)
           
 void setFormattingRanges(CellRangeAddress[] ranges)
          Sets the cell ranges the rule conditional formatting must be applied to.
 void setRule(int idx, ConditionalFormattingRule cfRule)
          Replaces an existing Conditional Formatting rule at position idx.
 void setRule(int idx, HSSFConditionalFormattingRule cfRule)
          Replaces an existing Conditional Formatting rule at position idx.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Method Detail

getFormattingRanges

public CellRangeAddress[] getFormattingRanges()
Specified by:
getFormattingRanges in interface ConditionalFormatting
Returns:
array of CellRangeAddresss. never null

setFormattingRanges

public void setFormattingRanges(CellRangeAddress[] ranges)
Description copied from interface: ConditionalFormatting
Sets the cell ranges the rule conditional formatting must be applied to.

Specified by:
setFormattingRanges in interface ConditionalFormatting
Parameters:
ranges - non-null array of CellRangeAddresss

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

addRule

public void addRule(ConditionalFormattingRule cfRule)
Description copied from interface: ConditionalFormatting
Add a Conditional Formatting rule. Excel pre-2007 allows to create up to 3 Conditional Formatting rules.

Specified by:
addRule in interface ConditionalFormatting
Parameters:
cfRule - - Conditional Formatting rule

getRule

public HSSFConditionalFormattingRule getRule(int idx)
Specified by:
getRule in interface ConditionalFormatting
Returns:
the Conditional Formatting rule at position idx.

getNumberOfRules

public int getNumberOfRules()
Specified by:
getNumberOfRules in interface ConditionalFormatting
Returns:
number of Conditional Formatting rules.

toString

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