Class IfFunc
java.lang.Object
org.apache.poi.ss.formula.functions.IfFunc
- All Implemented Interfaces:
ArrayFunction,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 ValueEvalevaluateArray(ValueEval[] args, int srcRowIndex, int srcColumnIndex) static booleanevaluateFirstArg(ValueEval arg, int srcCellRow, int srcCellCol) Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.poi.ss.formula.functions.ArrayFunction
evaluateOneArrayArg, evaluateTwoArrayArgs
-
Constructor Details
-
IfFunc
public IfFunc()
-
-
Method Details
-
evaluate
Description copied from interface:Function2Arg- Specified by:
evaluatein interfaceFunction2Arg
-
evaluate
public ValueEval evaluate(int srcRowIndex, int srcColumnIndex, ValueEval arg0, ValueEval arg1, ValueEval arg2) Description copied from interface:Function3Arg- Specified by:
evaluatein interfaceFunction3Arg
-
evaluateFirstArg
public static boolean evaluateFirstArg(ValueEval arg, int srcCellRow, int srcCellCol) throws EvaluationException - Throws:
EvaluationException
-
evaluateArray
- Specified by:
evaluateArrayin interfaceArrayFunction- 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.
-
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.
-