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 Ptgs 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 ValueEvalstatic booleanevaluateFirstArg(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:
evaluatein interfaceFunction- Parameters:
args- the evaluated function arguments. Empty values are represented withBlankEvalorMissingArgEval, 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.NaNbe sure to translate the result toErrorEval.NUM_ERROR.
-