Table of Contents

Class ExcelFunction

Namespace
OfficeOpenXml.FormulaParsing.Excel.Functions
Assembly
Magicodes.EPPlus.dll
public abstract class ExcelFunction
Inheritance
ExcelFunction
Derived
Inherited Members
Extension Methods

Constructors

ExcelFunction()

public ExcelFunction()

ExcelFunction(ArgumentCollectionUtil, ArgumentParsers, CompileResultValidators)

public ExcelFunction(ArgumentCollectionUtil argumentCollectionUtil, ArgumentParsers argumentParsers, CompileResultValidators compileResultValidators)

Parameters

argumentCollectionUtil ArgumentCollectionUtil
argumentParsers ArgumentParsers
compileResultValidators CompileResultValidators

Properties

IsErrorHandlingFunction

public virtual bool IsErrorHandlingFunction { get; }

Property Value

bool

IsLookupFuction

public virtual bool IsLookupFuction { get; }

Property Value

bool

Methods

AreEqual(double, double)

protected bool AreEqual(double d1, double d2)

Parameters

d1 double
d2 double

Returns

bool

ArgToAddress(IEnumerable<FunctionArgument>, int)

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

ArgToBool(IEnumerable<FunctionArgument>, int)

protected bool ArgToBool(IEnumerable<FunctionArgument> arguments, int index)

Parameters

arguments IEnumerable<FunctionArgument>
index int

Returns

bool

ArgToDecimal(IEnumerable<FunctionArgument>, int)

protected double ArgToDecimal(IEnumerable<FunctionArgument> arguments, int index)

Parameters

arguments IEnumerable<FunctionArgument>
index int

Returns

double

ArgToDecimal(object)

protected double ArgToDecimal(object obj)

Parameters

obj object

Returns

double

ArgToInt(IEnumerable<FunctionArgument>, int)

protected int ArgToInt(IEnumerable<FunctionArgument> arguments, int index)

Parameters

arguments IEnumerable<FunctionArgument>
index int

Returns

int

ArgToString(IEnumerable<FunctionArgument>, 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

CalculateCollection(IEnumerable<FunctionArgument>, double, Func<FunctionArgument, double, double>)

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

CheckForAndHandleExcelError(FunctionArgument)

protected void CheckForAndHandleExcelError(FunctionArgument arg)

Parameters

arg FunctionArgument

CheckForAndHandleExcelError(ICellInfo)

protected void CheckForAndHandleExcelError(ExcelDataProvider.ICellInfo cell)

Parameters

cell ExcelDataProvider.ICellInfo

CreateResult(object, DataType)

protected CompileResult CreateResult(object result, DataType dataType)

Parameters

result object
dataType DataType

Returns

CompileResult

Divide(double, double)

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

GetFirstValue(IEnumerable<FunctionArgument>)

protected object GetFirstValue(IEnumerable<FunctionArgument> val)

Parameters

val IEnumerable<FunctionArgument>

Returns

object

GetResultByObject(object)

protected CompileResult GetResultByObject(object result)

Parameters

result object

Returns

CompileResult

IsNumeric(object)

protected bool IsNumeric(object val)

Parameters

val object

Returns

bool

IsNumericString(object)

protected bool IsNumericString(object value)

Parameters

value object

Returns

bool

ThrowArgumentExceptionIf(Func<bool>, string)

protected void ThrowArgumentExceptionIf(Func<bool> condition, string message)

Parameters

condition Func<bool>
message string

ThrowArgumentExceptionIf(Func<bool>, string, params object[])

protected void ThrowArgumentExceptionIf(Func<bool> condition, string message, params object[] formats)

Parameters

condition Func<bool>
message string
formats object[]

ThrowExcelErrorValueException(eErrorType)

protected void ThrowExcelErrorValueException(eErrorType errorType)

Parameters

errorType eErrorType

ThrowExcelErrorValueExceptionIf(Func<bool>, eErrorType)

protected void ThrowExcelErrorValueExceptionIf(Func<bool> condition, eErrorType errorType)

Parameters

condition Func<bool>
errorType eErrorType

ValidateArguments(IEnumerable<FunctionArgument>, int)

protected void ValidateArguments(IEnumerable<FunctionArgument> arguments, int minLength)

Parameters

arguments IEnumerable<FunctionArgument>
minLength int

ValidateArguments(IEnumerable<FunctionArgument>, int, eErrorType)

protected void ValidateArguments(IEnumerable<FunctionArgument> arguments, int minLength, eErrorType errorTypeToThrow)

Parameters

arguments IEnumerable<FunctionArgument>
minLength int
errorTypeToThrow eErrorType