Class IfFunc
- java.lang.Object
-
- org.apache.poi.ss.formula.functions.IfFunc
-
- All Implemented Interfaces:
ArrayFunction,Function,Function2Arg,Function3Arg
public final class IfFunc extends Object implements ArrayFunction
Implementation for the Excel function IFNote 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 ofRefPtgarguments, 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 Constructor Description IfFunc()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description ValueEvalevaluate(int srcRowIndex, int srcColumnIndex, ValueEval arg0, ValueEval arg1)ValueEvalevaluate(int srcRowIndex, int srcColumnIndex, ValueEval arg0, ValueEval arg1, ValueEval arg2)ValueEvalevaluate(ValueEval[] args, int srcRowIndex, int srcColumnIndex)ValueEvalevaluateArray(ValueEval[] args, int srcRowIndex, int srcColumnIndex)static booleanevaluateFirstArg(ValueEval arg, int srcCellRow, int srcCellCol)-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.poi.ss.formula.functions.ArrayFunction
evaluateOneArrayArg, evaluateTwoArrayArgs
-
-
-
-
Method Detail
-
evaluate
public ValueEval evaluate(int srcRowIndex, int srcColumnIndex, ValueEval arg0, ValueEval arg1)
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
public ValueEval evaluateArray(ValueEval[] args, int srcRowIndex, int srcColumnIndex)
- 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
public final ValueEval evaluate(ValueEval[] args, int srcRowIndex, int srcColumnIndex)
- 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.
-
-