Class ExcelFunction
- Namespace
- OfficeOpenXml.FormulaParsing.Excel.Functions
- Assembly
- Magicodes.EPPlus.dll
public abstract class ExcelFunction
- Inheritance
-
ExcelFunction
- Derived
-
- Inherited Members
-
- Extension Methods
-
Constructors
public ExcelFunction(ArgumentCollectionUtil argumentCollectionUtil, ArgumentParsers argumentParsers, CompileResultValidators compileResultValidators)
Parameters
argumentCollectionUtil
ArgumentCollectionUtil
argumentParsers
ArgumentParsers
compileResultValidators
CompileResultValidators
Properties
public virtual bool IsErrorHandlingFunction { get; }
Property Value
- bool
public virtual bool IsLookupFuction { get; }
Property Value
- bool
Methods
protected bool AreEqual(double d1, double d2)
Parameters
d1
double
d2
double
Returns
- bool
protected string ArgToAddress(IEnumerable<FunctionArgument> arguments, int index)
Parameters
arguments
IEnumerable<FunctionArgument>
index
int
Returns
- string
ArgToAddress(IEnumerable<FunctionArgument>, int, ParsingContext)
protected string ArgToAddress(IEnumerable<FunctionArgument> arguments, int index, ParsingContext context)
Parameters
arguments
IEnumerable<FunctionArgument>
index
int
context
ParsingContext
Returns
- string
protected bool ArgToBool(IEnumerable<FunctionArgument> arguments, int index)
Parameters
arguments
IEnumerable<FunctionArgument>
index
int
Returns
- bool
protected double ArgToDecimal(IEnumerable<FunctionArgument> arguments, int index)
Parameters
arguments
IEnumerable<FunctionArgument>
index
int
Returns
- double
protected double ArgToDecimal(object obj)
Parameters
obj
object
Returns
- double
protected int ArgToInt(IEnumerable<FunctionArgument> arguments, int index)
Parameters
arguments
IEnumerable<FunctionArgument>
index
int
Returns
- int
protected string ArgToString(IEnumerable<FunctionArgument> arguments, int index)
Parameters
arguments
IEnumerable<FunctionArgument>
index
int
Returns
- string
ArgsToDoubleEnumerable(bool, bool, IEnumerable<FunctionArgument>, ParsingContext)
protected virtual IEnumerable<ExcelDoubleCellValue> ArgsToDoubleEnumerable(bool ignoreHiddenCells, bool ignoreErrors, IEnumerable<FunctionArgument> arguments, ParsingContext context)
Parameters
ignoreHiddenCells
bool
ignoreErrors
bool
arguments
IEnumerable<FunctionArgument>
context
ParsingContext
Returns
- IEnumerable<ExcelDoubleCellValue>
ArgsToDoubleEnumerable(bool, IEnumerable<FunctionArgument>, ParsingContext)
protected virtual IEnumerable<ExcelDoubleCellValue> ArgsToDoubleEnumerable(bool ignoreHiddenCells, IEnumerable<FunctionArgument> arguments, ParsingContext context)
Parameters
ignoreHiddenCells
bool
arguments
IEnumerable<FunctionArgument>
context
ParsingContext
Returns
- IEnumerable<ExcelDoubleCellValue>
ArgsToDoubleEnumerable(IEnumerable<FunctionArgument>, ParsingContext)
protected virtual IEnumerable<ExcelDoubleCellValue> ArgsToDoubleEnumerable(IEnumerable<FunctionArgument> arguments, ParsingContext context)
Parameters
arguments
IEnumerable<FunctionArgument>
context
ParsingContext
Returns
- IEnumerable<ExcelDoubleCellValue>
ArgsToDoubleEnumerableZeroPadded(bool, IRangeInfo, ParsingContext)
protected virtual IEnumerable<double> ArgsToDoubleEnumerableZeroPadded(bool ignoreHiddenCells, ExcelDataProvider.IRangeInfo rangeInfo, ParsingContext context)
Parameters
ignoreHiddenCells
bool
rangeInfo
ExcelDataProvider.IRangeInfo
context
ParsingContext
Returns
- IEnumerable<double>
ArgsToObjectEnumerable(bool, IEnumerable<FunctionArgument>, ParsingContext)
protected virtual IEnumerable<object> ArgsToObjectEnumerable(bool ignoreHiddenCells, IEnumerable<FunctionArgument> arguments, ParsingContext context)
Parameters
ignoreHiddenCells
bool
arguments
IEnumerable<FunctionArgument>
context
ParsingContext
Returns
- IEnumerable<object>
BeforeInvoke(ParsingContext)
public virtual void BeforeInvoke(ParsingContext context)
Parameters
context
ParsingContext
protected virtual double CalculateCollection(IEnumerable<FunctionArgument> collection, double result, Func<FunctionArgument, double, double> action)
Parameters
collection
IEnumerable<FunctionArgument>
result
double
action
Func<FunctionArgument, double, double>
Returns
- double
protected void CheckForAndHandleExcelError(FunctionArgument arg)
Parameters
arg
FunctionArgument
protected void CheckForAndHandleExcelError(ExcelDataProvider.ICellInfo cell)
Parameters
cell
ExcelDataProvider.ICellInfo
protected CompileResult CreateResult(object result, DataType dataType)
Parameters
result
object
dataType
DataType
Returns
- CompileResult
protected double Divide(double left, double right)
Parameters
left
double
right
double
Returns
- double
Execute(IEnumerable<FunctionArgument>, ParsingContext)
public abstract CompileResult Execute(IEnumerable<FunctionArgument> arguments, ParsingContext context)
Parameters
arguments
IEnumerable<FunctionArgument>
context
ParsingContext
Returns
- CompileResult
protected object GetFirstValue(IEnumerable<FunctionArgument> val)
Parameters
val
IEnumerable<FunctionArgument>
Returns
- object
protected CompileResult GetResultByObject(object result)
Parameters
result
object
Returns
- CompileResult
protected bool IsNumeric(object val)
Parameters
val
object
Returns
- bool
protected bool IsNumericString(object value)
Parameters
value
object
Returns
- bool
protected void ThrowArgumentExceptionIf(Func<bool> condition, string message)
Parameters
condition
Func<bool>
message
string
protected void ThrowArgumentExceptionIf(Func<bool> condition, string message, params object[] formats)
Parameters
condition
Func<bool>
message
string
formats
object[]
protected void ThrowExcelErrorValueException(eErrorType errorType)
Parameters
errorType
eErrorType
protected void ThrowExcelErrorValueExceptionIf(Func<bool> condition, eErrorType errorType)
Parameters
condition
Func<bool>
errorType
eErrorType
protected void ValidateArguments(IEnumerable<FunctionArgument> arguments, int minLength)
Parameters
arguments
IEnumerable<FunctionArgument>
minLength
int
protected void ValidateArguments(IEnumerable<FunctionArgument> arguments, int minLength, eErrorType errorTypeToThrow)
Parameters
arguments
IEnumerable<FunctionArgument>
minLength
int
errorTypeToThrow
eErrorType