Top Description Fields Constructors Methods
org.apache.poi.hssf.usermodel

public final Class HSSFConditionalFormatting

extends Object
implements ConditionalFormatting
Class Inheritance
All Implemented Interfaces
org.apache.poi.ss.usermodel.ConditionalFormatting
Imports
org.apache.poi.hssf.record.CFRuleBase, org.apache.poi.hssf.record.aggregates.CFRecordsAggregate, org.apache.poi.ss.usermodel.ConditionalFormatting, .ConditionalFormattingRule, org.apache.poi.ss.util.CellRangeAddress

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 org.apache.poi.hssf.usermodel.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);

Field Summary

Modifier and TypeField and Description
private final CFRecordsAggregate
private final HSSFSheet

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
public void
addRule(HSSFConditionalFormattingRule
- Conditional Formatting rule
cfRule
)

add a Conditional Formatting rule.

public void
addRule(ConditionalFormattingRule
- Conditional Formatting rule
cfRule
)

Implements org.apache.poi.ss.usermodel.ConditionalFormatting.addRule.

Add a Conditional Formatting rule.

pack-priv CFRecordsAggregate
public CellRangeAddress[]

Returns:

array of CellRangeAddresss. never null
getFormattingRanges
()

Implements org.apache.poi.ss.usermodel.ConditionalFormatting.getFormattingRanges.

public int

Returns:

number of Conditional Formatting rules.
getNumberOfRules
()

Implements org.apache.poi.ss.usermodel.ConditionalFormatting.getNumberOfRules.

public HSSFConditionalFormattingRule

Returns:

the Conditional Formatting rule at position idx.
getRule
(int idx)

Implements org.apache.poi.ss.usermodel.ConditionalFormatting.getRule.

public void
setFormattingRanges(final CellRangeAddress[]
non-null array of CellRangeAddresss
ranges
)

Implements org.apache.poi.ss.usermodel.ConditionalFormatting.setFormattingRanges.

Sets the cell ranges the rule conditional formatting must be applied to.

public void
setRule(int
position of the rule. Should be between 0 and 2 for older Excel versions
idx
,
HSSFConditionalFormattingRule
- Conditional Formatting rule
cfRule
)

Replaces an existing Conditional Formatting rule at position idx.

public void
setRule(int
position of the rule. Should be between 0 and 2 for Excel before 2007, otherwise 0+.
idx
,
ConditionalFormattingRule
- Conditional Formatting rule
cfRule
)

Implements org.apache.poi.ss.usermodel.ConditionalFormatting.setRule.

Replaces an existing Conditional Formatting rule at position idx.

public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAllwaitwaitwait

Field Detail

cfAggregateback to summary
private final CFRecordsAggregate cfAggregate
sheetback to summary
private final HSSFSheet sheet

Constructor Detail

HSSFConditionalFormattingback to summary
pack-priv HSSFConditionalFormatting(HSSFSheet sheet, CFRecordsAggregate cfAggregate)

Method Detail

addRuleback to summary
public void addRule(HSSFConditionalFormattingRule cfRule)

add a Conditional Formatting rule. Excel allows to create up to 3 Conditional Formatting rules.

Parameters
cfRule:HSSFConditionalFormattingRule

- Conditional Formatting rule

addRuleback to summary
public void addRule(ConditionalFormattingRule cfRule)

Implements org.apache.poi.ss.usermodel.ConditionalFormatting.addRule.

Doc from org.apache.poi.ss.usermodel.ConditionalFormatting.addRule.

Add a Conditional Formatting rule. Excel pre-2007 allows to create up to 3 Conditional Formatting rules.

Parameters
cfRule:ConditionalFormattingRule

- Conditional Formatting rule

Annotations
@Override
getCFRecordsAggregateback to summary
pack-priv CFRecordsAggregate getCFRecordsAggregate()
getFormattingRangesback to summary
public CellRangeAddress[] getFormattingRanges()

Implements org.apache.poi.ss.usermodel.ConditionalFormatting.getFormattingRanges.

Returns:CellRangeAddress[]

array of CellRangeAddresss. never null

Annotations
@Override
getNumberOfRulesback to summary
public int getNumberOfRules()

Implements org.apache.poi.ss.usermodel.ConditionalFormatting.getNumberOfRules.

Returns:int

number of Conditional Formatting rules.

Annotations
@Override
getRuleback to summary
public HSSFConditionalFormattingRule getRule(int idx)

Implements org.apache.poi.ss.usermodel.ConditionalFormatting.getRule.

Returns:HSSFConditionalFormattingRule

the Conditional Formatting rule at position idx.

Annotations
@Override
setFormattingRangesback to summary
public void setFormattingRanges(final CellRangeAddress[] ranges)

Implements org.apache.poi.ss.usermodel.ConditionalFormatting.setFormattingRanges.

Doc from org.apache.poi.ss.usermodel.ConditionalFormatting.setFormattingRanges.

Sets the cell ranges the rule conditional formatting must be applied to.

Parameters
ranges:CellRangeAddress[]

non-null array of CellRangeAddresss

Annotations
@Override
setRuleback to summary
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:int

position of the rule. Should be between 0 and 2 for older Excel versions

cfRule:HSSFConditionalFormattingRule

- Conditional Formatting rule

setRuleback to summary
public void setRule(int idx, ConditionalFormattingRule cfRule)

Implements org.apache.poi.ss.usermodel.ConditionalFormatting.setRule.

Doc from org.apache.poi.ss.usermodel.ConditionalFormatting.setRule.

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.

Parameters
idx:int

position of the rule. Should be between 0 and 2 for Excel before 2007, otherwise 0+.

cfRule:ConditionalFormattingRule

- Conditional Formatting rule

Annotations
@Override
toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object. Satisfying this method's contract implies a non-null result must be returned.

Returns:String

a string representation of the object

Annotations
@Override