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

public final Class HSSFConditionalFormattingRule

extends Object
implements ConditionalFormattingRule
Class Inheritance
All Implemented Interfaces
org.apache.poi.ss.usermodel.ConditionalFormattingRule, org.apache.poi.ss.usermodel.DifferentialStyleProvider
Annotations
@SuppressWarnings:unused
Imports
org.apache.poi.hssf.model.HSSFFormulaParser, org.apache.poi.hssf.record.CFRule12Record, .CFRuleBase, .CFRuleBase.ComparisonOperator, org.apache.poi.hssf.record.cf.BorderFormatting, .ColorGradientFormatting, .DataBarFormatting, .FontFormatting, .IconMultiStateFormatting, .PatternFormatting, org.apache.poi.ss.formula.ptg.Ptg, org.apache.poi.ss.usermodel.ConditionFilterData, .ConditionFilterType, .ConditionType, .ConditionalFormattingRule, .ExcelNumberFormat

High level representation of Conditional Formatting Rule. It allows to specify formula based conditions for the Conditional Formatting and the formatting settings such as font, border and pattern.

Field Summary

Modifier and TypeField and Description
private static final byte
private final CFRuleBase
private final HSSFSheet
private final HSSFWorkbook

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
public HSSFBorderFormatting

Returns:

- border formatting object, never returns null.
createBorderFormatting
()

Implements org.apache.poi.ss.usermodel.ConditionalFormattingRule.createBorderFormatting.

create a new border formatting structure if it does not exist, otherwise just return existing object.

public HSSFColorScaleFormatting
createColorScaleFormatting()

create a new color scale / gradient formatting object if it does not exist, otherwise just return the existing object.

public HSSFDataBarFormatting
createDataBarFormatting()

create a new databar / data-bar formatting object if it does not exist, otherwise just return the existing object.

public HSSFFontFormatting

Returns:

- font formatting object, never returns null.
createFontFormatting
()

Implements org.apache.poi.ss.usermodel.ConditionalFormattingRule.createFontFormatting.

create a new font formatting structure if it does not exist, otherwise just return existing object.

public HSSFIconMultiStateFormatting
createMultiStateFormatting()

create a new icon / multi-state formatting object if it does not exist, otherwise just return the existing object.

public HSSFPatternFormatting

Returns:

- pattern formatting object, never returns null.
createPatternFormatting
()

Implements org.apache.poi.ss.usermodel.ConditionalFormattingRule.createPatternFormatting.

create a new pattern formatting structure if it does not exist, otherwise just return existing object.

private HSSFBorderFormatting
getBorderFormatting(boolean create)

public HSSFBorderFormatting

Returns:

- border formatting object if defined, null otherwise
getBorderFormatting
()

Implements org.apache.poi.ss.usermodel.ConditionalFormattingRule.getBorderFormatting.

private CFRule12Record
getCFRule12Record(boolean create)

pack-priv CFRuleBase
private HSSFColorScaleFormatting
getColorScaleFormatting(boolean create)

public HSSFColorScaleFormatting

Returns:

color scale / gradient formatting object if defined, null otherwise
getColorScaleFormatting
()

Implements org.apache.poi.ss.usermodel.ConditionalFormattingRule.getColorScaleFormatting.

public byte

Returns:

- the comparisionoperatation for the cfrule
getComparisonOperation
()

Implements org.apache.poi.ss.usermodel.ConditionalFormattingRule.getComparisonOperation.

The comparison function used when the type of conditional formatting is set to ConditionType#CELL_VALUE_IS

MUST be a constant from ComparisonOperator

public ConditionFilterType
public ConditionType

Returns:

- the conditiontype for the cfrule
getConditionType
()

Implements org.apache.poi.ss.usermodel.ConditionalFormattingRule.getConditionType.

Type of conditional formatting rule.

private HSSFDataBarFormatting
getDataBarFormatting(boolean create)

public HSSFDataBarFormatting

Returns:

databar / data-bar formatting object if defined, null otherwise
getDataBarFormatting
()

Implements org.apache.poi.ss.usermodel.ConditionalFormattingRule.getDataBarFormatting.

public ConditionFilterData
getFilterConfiguration()

Implements org.apache.poi.ss.usermodel.ConditionalFormattingRule.getFilterConfiguration.

This is null if

getConditionFilterType() == null

This means it is always null for HSSF, which does not define the extended condition types.

private HSSFFontFormatting
getFontFormatting(boolean create)

public HSSFFontFormatting

Returns:

- font formatting object if defined, null otherwise
getFontFormatting
()

Implements org.apache.poi.ss.usermodel.ConditionalFormattingRule.getFontFormatting.

public String
getFormula1()

Implements org.apache.poi.ss.usermodel.ConditionalFormattingRule.getFormula1.

The formula used to evaluate the first operand for the conditional formatting rule.

public String
getFormula2()

Implements org.apache.poi.ss.usermodel.ConditionalFormattingRule.getFormula2.

The formula used to evaluate the second operand of the comparison when comparison type is ConditionType#CELL_VALUE_IS and operator is either ComparisonOperator#BETWEEN or ComparisonOperator#NOT_BETWEEN

private HSSFIconMultiStateFormatting
getMultiStateFormatting(boolean create)

public HSSFIconMultiStateFormatting

Returns:

icon / multi-state formatting object if defined, null otherwise
getMultiStateFormatting
()

Implements org.apache.poi.ss.usermodel.ConditionalFormattingRule.getMultiStateFormatting.

public ExcelNumberFormat
getNumberFormat()

Implements org.apache.poi.ss.usermodel.ConditionalFormattingRule.getNumberFormat.

Always null for HSSF records, until someone figures out where to find it

private HSSFPatternFormatting
getPatternFormatting(boolean create)

public HSSFPatternFormatting

Returns:

- pattern formatting object if defined, null otherwise
getPatternFormatting
()

Implements org.apache.poi.ss.usermodel.ConditionalFormattingRule.getPatternFormatting.

public int
getPriority()

Implements org.apache.poi.ss.usermodel.ConditionalFormattingRule.getPriority.

Only newer style formatting rules have priorities.

public boolean
getStopIfTrue()

Implements org.apache.poi.ss.usermodel.ConditionalFormattingRule.getStopIfTrue.

Always true for HSSF files, per Microsoft Excel documentation

public int
getStripeSize()

Implements org.apache.poi.ss.usermodel.DifferentialStyleProvider.getStripeSize.

Conditional format rules don't define stripes, so always 0

public String
getText()

Implements org.apache.poi.ss.usermodel.ConditionalFormattingRule.getText.

XSSF rules store textual condition values as an attribute and also as a formula that needs shifting.

pack-priv String
toFormulaString(Ptg[] parsedExpression)

pack-priv static String
toFormulaString(Ptg[] parsedExpression, HSSFWorkbook workbook)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

CELL_COMPARISONback to summary
private static final byte CELL_COMPARISON
cfRuleRecordback to summary
private final CFRuleBase cfRuleRecord
sheetback to summary
private final HSSFSheet sheet
workbookback to summary
private final HSSFWorkbook workbook

Constructor Detail

HSSFConditionalFormattingRuleback to summary
pack-priv HSSFConditionalFormattingRule(HSSFSheet pSheet, CFRuleBase pRuleRecord)

Method Detail

createBorderFormattingback to summary
public HSSFBorderFormatting createBorderFormatting()

Implements org.apache.poi.ss.usermodel.ConditionalFormattingRule.createBorderFormatting.

create a new border formatting structure if it does not exist, otherwise just return existing object.

Returns:HSSFBorderFormatting

- border formatting object, never returns null.

Annotations
@Override
createColorScaleFormattingback to summary
public HSSFColorScaleFormatting createColorScaleFormatting()

create a new color scale / gradient formatting object if it does not exist, otherwise just return the existing object.

createDataBarFormattingback to summary
public HSSFDataBarFormatting createDataBarFormatting()

create a new databar / data-bar formatting object if it does not exist, otherwise just return the existing object.

createFontFormattingback to summary
public HSSFFontFormatting createFontFormatting()

Implements org.apache.poi.ss.usermodel.ConditionalFormattingRule.createFontFormatting.

create a new font formatting structure if it does not exist, otherwise just return existing object.

Returns:HSSFFontFormatting

- font formatting object, never returns null.

Annotations
@Override
createMultiStateFormattingback to summary
public HSSFIconMultiStateFormatting createMultiStateFormatting()

create a new icon / multi-state formatting object if it does not exist, otherwise just return the existing object.

createPatternFormattingback to summary
public HSSFPatternFormatting createPatternFormatting()

Implements org.apache.poi.ss.usermodel.ConditionalFormattingRule.createPatternFormatting.

create a new pattern formatting structure if it does not exist, otherwise just return existing object.

Returns:HSSFPatternFormatting

- pattern formatting object, never returns null.

Annotations
@Override
getBorderFormattingback to summary
private HSSFBorderFormatting getBorderFormatting(boolean create)
getBorderFormattingback to summary
public HSSFBorderFormatting getBorderFormatting()

Implements org.apache.poi.ss.usermodel.ConditionalFormattingRule.getBorderFormatting.

Returns:HSSFBorderFormatting

- border formatting object if defined, null otherwise

Annotations
@Override
getCFRule12Recordback to summary
private CFRule12Record getCFRule12Record(boolean create)
getCfRuleRecordback to summary
pack-priv CFRuleBase getCfRuleRecord()
getColorScaleFormattingback to summary
private HSSFColorScaleFormatting getColorScaleFormatting(boolean create)
getColorScaleFormattingback to summary
public HSSFColorScaleFormatting getColorScaleFormatting()

Implements org.apache.poi.ss.usermodel.ConditionalFormattingRule.getColorScaleFormatting.

Returns:HSSFColorScaleFormatting

color scale / gradient formatting object if defined, null otherwise

Annotations
@Override
getComparisonOperationback to summary
public byte getComparisonOperation()

Implements org.apache.poi.ss.usermodel.ConditionalFormattingRule.getComparisonOperation.

Doc from org.apache.poi.ss.usermodel.ConditionalFormattingRule.getComparisonOperation.

The comparison function used when the type of conditional formatting is set to ConditionType#CELL_VALUE_IS

MUST be a constant from ComparisonOperator

Returns:byte

- the comparisionoperatation for the cfrule

Annotations
@Override
getConditionFilterTypeback to summary
public ConditionFilterType getConditionFilterType()

Implements org.apache.poi.ss.usermodel.ConditionalFormattingRule.getConditionFilterType.

always null (not a filter condition) or ConditionFilterType#FILTER if it is.

Returns:ConditionFilterType

Doc from org.apache.poi.ss.usermodel.ConditionalFormattingRule.getConditionFilterType.

filter type for filter rules, or null if not a filter rule.

Annotations
@Override
getConditionTypeback to summary
public ConditionType getConditionType()

Implements org.apache.poi.ss.usermodel.ConditionalFormattingRule.getConditionType.

Doc from org.apache.poi.ss.usermodel.ConditionalFormattingRule.getConditionType.

Type of conditional formatting rule.

Returns:ConditionType

- the conditiontype for the cfrule

Annotations
@Override
getDataBarFormattingback to summary
private HSSFDataBarFormatting getDataBarFormatting(boolean create)
getDataBarFormattingback to summary
public HSSFDataBarFormatting getDataBarFormatting()

Implements org.apache.poi.ss.usermodel.ConditionalFormattingRule.getDataBarFormatting.

Returns:HSSFDataBarFormatting

databar / data-bar formatting object if defined, null otherwise

Annotations
@Override
getFilterConfigurationback to summary
public ConditionFilterData getFilterConfiguration()

Implements org.apache.poi.ss.usermodel.ConditionalFormattingRule.getFilterConfiguration.

Doc from org.apache.poi.ss.usermodel.ConditionalFormattingRule.getFilterConfiguration.

This is null if

getConditionFilterType() == null

This means it is always null for HSSF, which does not define the extended condition types.

This object contains the additional configuration information for XSSF filter conditions.

Returns:ConditionFilterData

the Filter Configuration Data, or null if there isn't any

Annotations
@Override
getFontFormattingback to summary
private HSSFFontFormatting getFontFormatting(boolean create)
getFontFormattingback to summary
public HSSFFontFormatting getFontFormatting()

Implements org.apache.poi.ss.usermodel.ConditionalFormattingRule.getFontFormatting.

Returns:HSSFFontFormatting

- font formatting object if defined, null otherwise

Annotations
@Override
getFormula1back to summary
public String getFormula1()

Implements org.apache.poi.ss.usermodel.ConditionalFormattingRule.getFormula1.

Doc from org.apache.poi.ss.usermodel.ConditionalFormattingRule.getFormula1.

The formula used to evaluate the first operand for the conditional formatting rule.

If the condition type is ConditionType#CELL_VALUE_IS, this field is the first operand of the comparison. If type is ConditionType#FORMULA, this formula is used to determine if the conditional formatting is applied.

If comparison type is ConditionType#FORMULA the formula MUST be a Boolean function

Returns:String

the first formula

Annotations
@Override
getFormula2back to summary
public String getFormula2()

Implements org.apache.poi.ss.usermodel.ConditionalFormattingRule.getFormula2.

Doc from org.apache.poi.ss.usermodel.ConditionalFormattingRule.getFormula2.

The formula used to evaluate the second operand of the comparison when comparison type is ConditionType#CELL_VALUE_IS and operator is either ComparisonOperator#BETWEEN or ComparisonOperator#NOT_BETWEEN

Returns:String

the second formula

Annotations
@Override
getMultiStateFormattingback to summary
private HSSFIconMultiStateFormatting getMultiStateFormatting(boolean create)
getMultiStateFormattingback to summary
public HSSFIconMultiStateFormatting getMultiStateFormatting()

Implements org.apache.poi.ss.usermodel.ConditionalFormattingRule.getMultiStateFormatting.

Returns:HSSFIconMultiStateFormatting

icon / multi-state formatting object if defined, null otherwise

Annotations
@Override
getNumberFormatback to summary
public ExcelNumberFormat getNumberFormat()

Implements org.apache.poi.ss.usermodel.ConditionalFormattingRule.getNumberFormat.

Always null for HSSF records, until someone figures out where to find it

Returns:ExcelNumberFormat

Doc from org.apache.poi.ss.usermodel.ConditionalFormattingRule.getNumberFormat.

number format defined for this rule, or null if the cell default should be used

Annotations
@Override
getPatternFormattingback to summary
private HSSFPatternFormatting getPatternFormatting(boolean create)
getPatternFormattingback to summary
public HSSFPatternFormatting getPatternFormatting()

Implements org.apache.poi.ss.usermodel.ConditionalFormattingRule.getPatternFormatting.

Returns:HSSFPatternFormatting

- pattern formatting object if defined, null otherwise

Annotations
@Override
getPriorityback to summary
public int getPriority()

Implements org.apache.poi.ss.usermodel.ConditionalFormattingRule.getPriority.

Only newer style formatting rules have priorities. For older ones, we don't know priority for these, other than definition/model order, which appears to be what Excel uses.

Returns:int

Doc from org.apache.poi.ss.usermodel.ConditionalFormattingRule.getPriority.

rule priority

Annotations
@Override
getStopIfTrueback to summary
public boolean getStopIfTrue()

Implements org.apache.poi.ss.usermodel.ConditionalFormattingRule.getStopIfTrue.

Always true for HSSF files, per Microsoft Excel documentation

Returns:boolean

Doc from org.apache.poi.ss.usermodel.ConditionalFormattingRule.getStopIfTrue.

true if conditional formatting rule processing stops when this one is true, false if not

Annotations
@Override
getStripeSizeback to summary
public int getStripeSize()

Implements org.apache.poi.ss.usermodel.DifferentialStyleProvider.getStripeSize.

Conditional format rules don't define stripes, so always 0

Returns:int

Doc from org.apache.poi.ss.usermodel.DifferentialStyleProvider.getStripeSize.

number of rows/columns in a stripe for stripe styles, 0 for all others

Annotations
@Override
See Also
org.apache.poi.ss.usermodel.DifferentialStyleProvider#getStripeSize()
getTextback to summary
public String getText()

Implements org.apache.poi.ss.usermodel.ConditionalFormattingRule.getText.

Doc from org.apache.poi.ss.usermodel.ConditionalFormattingRule.getText.

XSSF rules store textual condition values as an attribute and also as a formula that needs shifting. Using the attribute is simpler/faster. HSSF rules don't have this and return null. We can fall back on the formula for those (AFAIK).

Returns:String

condition text if it exists, or null

Annotations
@Override
toFormulaStringback to summary
pack-priv String toFormulaString(Ptg[] parsedExpression)
toFormulaStringback to summary
pack-priv static String toFormulaString(Ptg[] parsedExpression, HSSFWorkbook workbook)