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 Object implements ConditionalFormatting
HSSFConditionalFormatting class encapsulates all settings of Conditional Formatting. The class can be used to make a copy HSSFConditionalFormatting settings. For example:
or to modify existing Conditional Formatting settings (formatting regions and/or rules).HSSFConditionalFormatting cf = sheet.getConditionalFormattingAt(index); newSheet.addConditionalFormatting(cf);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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddRule(HSSFConditionalFormattingRule cfRule)add a Conditional Formatting rule.voidaddRule(ConditionalFormattingRule cfRule)Add a Conditional Formatting rule.CellRangeAddress[]getFormattingRanges()intgetNumberOfRules()HSSFConditionalFormattingRulegetRule(int idx)voidsetFormattingRanges(CellRangeAddress[] ranges)Sets the cell ranges the rule conditional formatting must be applied to.voidsetRule(int idx, HSSFConditionalFormattingRule cfRule)Replaces an existing Conditional Formatting rule at position idx.voidsetRule(int idx, ConditionalFormattingRule cfRule)Replaces an existing Conditional Formatting rule at position idx.StringtoString()
-
-
-
Method Detail
-
getFormattingRanges
public CellRangeAddress[] getFormattingRanges()
- Specified by:
getFormattingRangesin interfaceConditionalFormatting- Returns:
- array of
CellRangeAddresss. nevernull
-
setFormattingRanges
public void setFormattingRanges(CellRangeAddress[] ranges)
Description copied from interface:ConditionalFormattingSets the cell ranges the rule conditional formatting must be applied to.- Specified by:
setFormattingRangesin interfaceConditionalFormatting- Parameters:
ranges- non-null array ofCellRangeAddresss
-
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:ConditionalFormattingReplaces 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:
setRulein 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:ConditionalFormattingAdd a Conditional Formatting rule. Excel pre-2007 allows to create up to 3 Conditional Formatting rules.- Specified by:
addRulein interfaceConditionalFormatting- Parameters:
cfRule- - Conditional Formatting rule
-
getRule
public HSSFConditionalFormattingRule getRule(int idx)
- Specified by:
getRulein interfaceConditionalFormatting- Returns:
- the Conditional Formatting rule at position idx.
-
getNumberOfRules
public int getNumberOfRules()
- Specified by:
getNumberOfRulesin interfaceConditionalFormatting- Returns:
- number of Conditional Formatting rules.
-
-