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