Class IfFunc
java.lang.Object
org.apache.poi.ss.formula.functions.IfFunc
- All Implemented Interfaces:
Function
,Function2Arg
,Function3Arg
Implementation for the Excel function IF
Note that Excel is a bit picky about the arguments to this function,
when serialised into Ptg
s in a HSSF file. While most cases are
pretty chilled about the R vs V state of RefPtg
arguments,
for IF special care is needed to avoid Excel showing #VALUE.
See bug numbers #55324 and #55747 for the full details on this.
TODO Fix this...
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal ValueEval
static boolean
evaluateFirstArg
(ValueEval arg, int srcCellRow, int srcCellCol)
-
Constructor Details
-
IfFunc
public IfFunc()
-
-
Method Details
-
evaluate
Description copied from interface:Function2Arg
-
evaluate
public ValueEval evaluate(int srcRowIndex, int srcColumnIndex, ValueEval arg0, ValueEval arg1, ValueEval arg2) Description copied from interface:Function3Arg
-
evaluateFirstArg
public static boolean evaluateFirstArg(ValueEval arg, int srcCellRow, int srcCellCol) throws EvaluationException - Throws:
EvaluationException
-
evaluate
- Specified by:
evaluate
in interfaceFunction
- Parameters:
args
- the evaluated function arguments. Empty values are represented withBlankEval
orMissingArgEval
, nevernull
.srcRowIndex
- row index of the cell containing the formula under evaluationsrcColumnIndex
- column index of the cell containing the formula under evaluation- Returns:
- The evaluated result, possibly an
ErrorEval
, nevernull
. Note - Excel uses the error code #NUM! instead of IEEE NaN, so when numeric functions evaluate toDouble.NaN
be sure to translate the result toErrorEval.NUM_ERROR
.
-