Package org.apache.poi.hssf.usermodel
Class HSSFConditionalFormattingRule
java.lang.Object
org.apache.poi.hssf.usermodel.HSSFConditionalFormattingRule
- All Implemented Interfaces:
ConditionalFormattingRule,DifferentialStyleProvider
public final class HSSFConditionalFormattingRule
extends Object
implements ConditionalFormattingRule
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.
-
Method Summary
Modifier and TypeMethodDescriptioncreate a new border formatting structure if it does not exist, otherwise just return existing object.create a new color scale / gradient formatting object if it does not exist, otherwise just return the existing object.create a new databar / data-bar formatting object if it does not exist, otherwise just return the existing object.create a new font formatting structure if it does not exist, otherwise just return existing object.create a new icon / multi-state formatting object if it does not exist, otherwise just return the existing object.create a new pattern formatting structure if it does not exist, otherwise just return existing object.byteThe comparison function used when the type of conditional formatting is set toConditionType.CELL_VALUE_ISalways null (not a filter condition) orConditionFilterType.FILTERif it is.Type of conditional formatting rule.This is null ifThe formula used to evaluate the first operand for the conditional formatting rule.The formula used to evaluate the second operand of the comparison when comparison type isConditionType.CELL_VALUE_ISand operator is eitherComparisonOperator.BETWEENorComparisonOperator.NOT_BETWEENAlways null for HSSF records, until someone figures out where to find itintOnly newer style formatting rules have priorities.booleanAlways true for HSSF files, per Microsoft Excel documentationintConditional format rules don't define stripes, so always 0getText()XSSF rules store textual condition values as an attribute and also as a formula that needs shifting.protected StringtoFormulaString(Ptg[] parsedExpression) protected static StringtoFormulaString(Ptg[] parsedExpression, HSSFWorkbook workbook)
-
Method Details
-
getPriority
public int 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.- Specified by:
getPriorityin interfaceConditionalFormattingRule- Returns:
- rule priority
- See Also:
-
getStopIfTrue
public boolean getStopIfTrue()Always true for HSSF files, per Microsoft Excel documentation- Specified by:
getStopIfTruein interfaceConditionalFormattingRule- Returns:
- true if conditional formatting rule processing stops when this one is true, false if not
- See Also:
-
getNumberFormat
Always null for HSSF records, until someone figures out where to find it- Specified by:
getNumberFormatin interfaceConditionalFormattingRule- Specified by:
getNumberFormatin interfaceDifferentialStyleProvider- Returns:
- number format defined for this rule, or null if the cell default should be used
- See Also:
-
getFontFormatting
- Specified by:
getFontFormattingin interfaceConditionalFormattingRule- Specified by:
getFontFormattingin interfaceDifferentialStyleProvider- Returns:
- - font formatting object if defined,
nullotherwise
-
createFontFormatting
create a new font formatting structure if it does not exist, otherwise just return existing object.- Specified by:
createFontFormattingin interfaceConditionalFormattingRule- Returns:
- - font formatting object, never returns
null.
-
getBorderFormatting
- Specified by:
getBorderFormattingin interfaceConditionalFormattingRule- Specified by:
getBorderFormattingin interfaceDifferentialStyleProvider- Returns:
- - border formatting object if defined,
nullotherwise
-
createBorderFormatting
create a new border formatting structure if it does not exist, otherwise just return existing object.- Specified by:
createBorderFormattingin interfaceConditionalFormattingRule- Returns:
- - border formatting object, never returns
null.
-
getPatternFormatting
- Specified by:
getPatternFormattingin interfaceConditionalFormattingRule- Specified by:
getPatternFormattingin interfaceDifferentialStyleProvider- Returns:
- - pattern formatting object if defined,
nullotherwise
-
createPatternFormatting
create a new pattern formatting structure if it does not exist, otherwise just return existing object.- Specified by:
createPatternFormattingin interfaceConditionalFormattingRule- Returns:
- - pattern formatting object, never returns
null.
-
getDataBarFormatting
- Specified by:
getDataBarFormattingin interfaceConditionalFormattingRule- Returns:
- databar / data-bar formatting object if defined,
nullotherwise
-
createDataBarFormatting
create a new databar / data-bar formatting object if it does not exist, otherwise just return the existing object. -
getMultiStateFormatting
- Specified by:
getMultiStateFormattingin interfaceConditionalFormattingRule- Returns:
- icon / multi-state formatting object if defined,
nullotherwise
-
createMultiStateFormatting
create a new icon / multi-state formatting object if it does not exist, otherwise just return the existing object. -
getColorScaleFormatting
- Specified by:
getColorScaleFormattingin interfaceConditionalFormattingRule- Returns:
- color scale / gradient formatting object if defined,
nullotherwise
-
createColorScaleFormatting
create a new color scale / gradient formatting object if it does not exist, otherwise just return the existing object. -
getConditionType
Description copied from interface:ConditionalFormattingRuleType of conditional formatting rule.- Specified by:
getConditionTypein interfaceConditionalFormattingRule- Returns:
- - the conditiontype for the cfrule
-
getConditionFilterType
always null (not a filter condition) orConditionFilterType.FILTERif it is.- Specified by:
getConditionFilterTypein interfaceConditionalFormattingRule- Returns:
- filter type for filter rules, or null if not a filter rule.
- See Also:
-
getFilterConfiguration
Description copied from interface:ConditionalFormattingRuleThis is null ifConditionalFormattingRule.getConditionFilterType()== nullThis 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.
- Specified by:
getFilterConfigurationin interfaceConditionalFormattingRule- Returns:
- the Filter Configuration Data, or null if there isn't any
-
getComparisonOperation
public byte getComparisonOperation()Description copied from interface:ConditionalFormattingRuleThe comparison function used when the type of conditional formatting is set toConditionType.CELL_VALUE_ISMUST be a constant from
ComparisonOperator- Specified by:
getComparisonOperationin interfaceConditionalFormattingRule- Returns:
- - the comparisionoperatation for the cfrule
-
getFormula1
Description copied from interface:ConditionalFormattingRuleThe 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 isConditionType.FORMULA, this formula is used to determine if the conditional formatting is applied.If comparison type is
ConditionType.FORMULAthe formula MUST be a Boolean function- Specified by:
getFormula1in interfaceConditionalFormattingRule- Returns:
- the first formula
-
getFormula2
Description copied from interface:ConditionalFormattingRuleThe formula used to evaluate the second operand of the comparison when comparison type isConditionType.CELL_VALUE_ISand operator is eitherComparisonOperator.BETWEENorComparisonOperator.NOT_BETWEEN- Specified by:
getFormula2in interfaceConditionalFormattingRule- Returns:
- the second formula
-
getText
Description copied from interface:ConditionalFormattingRuleXSSF 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).- Specified by:
getTextin interfaceConditionalFormattingRule- Returns:
- condition text if it exists, or null
-
toFormulaString
-
toFormulaString
-
getStripeSize
public int getStripeSize()Conditional format rules don't define stripes, so always 0- Specified by:
getStripeSizein interfaceDifferentialStyleProvider- Returns:
- number of rows/columns in a stripe for stripe styles, 0 for all others
- See Also:
-