Package org.apache.poi.hssf.usermodel
Class HSSFConditionalFormatting
- java.lang.Object
-
- 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- 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).
UseHSSFSheet.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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addRule(HSSFConditionalFormattingRule cfRule)
add a Conditional Formatting rule.void
addRule(ConditionalFormattingRule 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, HSSFConditionalFormattingRule cfRule)
Replaces an existing Conditional Formatting rule at position idx.void
setRule(int idx, ConditionalFormattingRule cfRule)
Replaces an existing Conditional Formatting rule at position idx.java.lang.String
toString()
-
-
-
Method Detail
-
getFormattingRanges
public CellRangeAddress[] getFormattingRanges()
- Specified by:
getFormattingRanges
in interfaceConditionalFormatting
- 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 interfaceConditionalFormatting
- 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 versionscfRule
- - 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 interfaceConditionalFormatting
- 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 interfaceConditionalFormatting
- Parameters:
cfRule
- - Conditional Formatting rule
-
getRule
public HSSFConditionalFormattingRule getRule(int idx)
- Specified by:
getRule
in interfaceConditionalFormatting
- Returns:
- the Conditional Formatting rule at position idx.
-
getNumberOfRules
public int getNumberOfRules()
- Specified by:
getNumberOfRules
in interfaceConditionalFormatting
- Returns:
- number of Conditional Formatting rules.
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-