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.byte
The comparison function used when the type of conditional formatting is set toConditionType.CELL_VALUE_IS
always null (not a filter condition) orConditionFilterType.FILTER
if 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_IS
and operator is eitherComparisonOperator.BETWEEN
orComparisonOperator.NOT_BETWEEN
Always null for HSSF records, until someone figures out where to find itint
Only newer style formatting rules have priorities.boolean
Always true for HSSF files, per Microsoft Excel documentationint
Conditional 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 String
toFormulaString
(Ptg[] parsedExpression) protected static String
toFormulaString
(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:
getPriority
in interfaceConditionalFormattingRule
- Returns:
- rule priority
- See Also:
-
getStopIfTrue
public boolean getStopIfTrue()Always true for HSSF files, per Microsoft Excel documentation- Specified by:
getStopIfTrue
in 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:
getNumberFormat
in interfaceConditionalFormattingRule
- Specified by:
getNumberFormat
in interfaceDifferentialStyleProvider
- Returns:
- number format defined for this rule, or null if the cell default should be used
- See Also:
-
getFontFormatting
- Specified by:
getFontFormatting
in interfaceConditionalFormattingRule
- Specified by:
getFontFormatting
in interfaceDifferentialStyleProvider
- Returns:
- - font formatting object if defined,
null
otherwise
-
createFontFormatting
create a new font formatting structure if it does not exist, otherwise just return existing object.- Specified by:
createFontFormatting
in interfaceConditionalFormattingRule
- Returns:
- - font formatting object, never returns
null
.
-
getBorderFormatting
- Specified by:
getBorderFormatting
in interfaceConditionalFormattingRule
- Specified by:
getBorderFormatting
in interfaceDifferentialStyleProvider
- Returns:
- - border formatting object if defined,
null
otherwise
-
createBorderFormatting
create a new border formatting structure if it does not exist, otherwise just return existing object.- Specified by:
createBorderFormatting
in interfaceConditionalFormattingRule
- Returns:
- - border formatting object, never returns
null
.
-
getPatternFormatting
- Specified by:
getPatternFormatting
in interfaceConditionalFormattingRule
- Specified by:
getPatternFormatting
in interfaceDifferentialStyleProvider
- Returns:
- - pattern formatting object if defined,
null
otherwise
-
createPatternFormatting
create a new pattern formatting structure if it does not exist, otherwise just return existing object.- Specified by:
createPatternFormatting
in interfaceConditionalFormattingRule
- Returns:
- - pattern formatting object, never returns
null
.
-
getDataBarFormatting
- Specified by:
getDataBarFormatting
in interfaceConditionalFormattingRule
- Returns:
- databar / data-bar formatting object if defined,
null
otherwise
-
createDataBarFormatting
create a new databar / data-bar formatting object if it does not exist, otherwise just return the existing object. -
getMultiStateFormatting
- Specified by:
getMultiStateFormatting
in interfaceConditionalFormattingRule
- Returns:
- icon / multi-state formatting object if defined,
null
otherwise
-
createMultiStateFormatting
create a new icon / multi-state formatting object if it does not exist, otherwise just return the existing object. -
getColorScaleFormatting
- Specified by:
getColorScaleFormatting
in interfaceConditionalFormattingRule
- Returns:
- color scale / gradient formatting object if defined,
null
otherwise
-
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:ConditionalFormattingRule
Type of conditional formatting rule.- Specified by:
getConditionType
in interfaceConditionalFormattingRule
- Returns:
- - the conditiontype for the cfrule
-
getConditionFilterType
always null (not a filter condition) orConditionFilterType.FILTER
if it is.- Specified by:
getConditionFilterType
in interfaceConditionalFormattingRule
- Returns:
- filter type for filter rules, or null if not a filter rule.
- See Also:
-
getFilterConfiguration
Description copied from interface:ConditionalFormattingRule
This 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:
getFilterConfiguration
in interfaceConditionalFormattingRule
- Returns:
- the Filter Configuration Data, or null if there isn't any
-
getComparisonOperation
public byte getComparisonOperation()Description copied from interface:ConditionalFormattingRule
The comparison function used when the type of conditional formatting is set toConditionType.CELL_VALUE_IS
MUST be a constant from
ComparisonOperator
- Specified by:
getComparisonOperation
in interfaceConditionalFormattingRule
- Returns:
- - the comparisionoperatation for the cfrule
-
getFormula1
Description copied from interface:ConditionalFormattingRule
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 isConditionType.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- Specified by:
getFormula1
in interfaceConditionalFormattingRule
- Returns:
- the first formula
-
getFormula2
Description copied from interface:ConditionalFormattingRule
The formula used to evaluate the second operand of the comparison when comparison type isConditionType.CELL_VALUE_IS
and operator is eitherComparisonOperator.BETWEEN
orComparisonOperator.NOT_BETWEEN
- Specified by:
getFormula2
in interfaceConditionalFormattingRule
- Returns:
- the second formula
-
getText
Description copied from interface:ConditionalFormattingRule
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).- Specified by:
getText
in 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:
getStripeSize
in interfaceDifferentialStyleProvider
- Returns:
- number of rows/columns in a stripe for stripe styles, 0 for all others
- See Also:
-