Class CalculationData

Class CalculationData

Namespace: Aspose.Cells
Assembly: Aspose.Cells.dll (25.2.0)

表示计算一个函数时所需的数据,例如函数名称、参数等。

public class CalculationData

继承

objectCalculationData

继承成员

object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()

备注

此类提供的所有对象仅供“读取”目的。 用户在公式计算过程中不应更改工作簿中的任何数据, 否则可能会导致意外结果或异常。

属性

CalculatedValue

获取或设置此函数的计算值。

public object CalculatedValue { get; set; }

属性值

object

备注

用户应在其自定义计算引擎中为引擎支持的那些函数设置此属性, 并且设置的值将在稍后获取此属性时返回。 设置的值可以是 Aspose.Cells.Cell.Value 的可能类型, 或此类值的数组,或范围、名称、引用区域。 在设置值之前获取此属性将使函数通过 Aspose.Cells 的默认计算引擎进行计算, 然后返回计算值(通常对于用户定义的函数应为 #NAME?)。

Cell

获取函数所在的单元格对象。

public Cell Cell { get; }

属性值

Cell

备注

在没有将公式设置到单元格的情况下计算公式时, 例如通过 Aspose.Cells.Worksheet.CalculateFormula(System.String,Aspose.Cells.CalculationOptions), 公式将像已设置到单元格 A1 一样进行计算, 因此 Aspose.Cells.CalculationData.CellRow 和 Aspose.Cells.CalculationData.CellColumn 都为 0。 然而,工作表中的单元格 A1 可能尚未被实例化。 因此,对于这种情况,此属性将为 null。

CellColumn

获取函数所在单元格的列索引。

public int CellColumn { get; }

属性值

int

CellRow

获取函数所在单元格的行索引。

public int CellRow { get; }

属性值

int

FunctionName

获取要计算的函数名称。

public string FunctionName { get; }

属性值

string

ParamCount

获取参数的数量。

public int ParamCount { get; }

属性值

int

Workbook

获取函数所在的工作簿对象。

public Workbook Workbook { get; }

属性值

Workbook

Worksheet

获取函数所在的工作表对象。

public Worksheet Worksheet { get; }

属性值

Worksheet

方法

GetParamText(int)

获取给定索引处参数的字面文本。

public string GetParamText(int index)

参数

index int

参数的索引(基于 0)

返回

string

参数的字面文本。

GetParamValue(int)

获取给定索引处参数的表示值对象。

public object GetParamValue(int index)

参数

index int

参数的索引(基于 0)

返回

object

参数的计算值。

备注

对于一个参数:

如果是普通值,则返回普通值本身;

如果是引用,则返回 ReferredArea 对象;

如果引用到具有多个值的数据集,则返回对象数组;

如果是某种需要计算的表达式,则将以值模式进行计算, 通常根据当前单元格基返回单个值。例如, 如果 D2 的公式的一个参数是 A:A+B:B,则将计算并返回 A2+B2。 然而,如果该参数已被指定为数组模式 (通过 Aspose.Cells.Workbook.UpdateCustomFunctionDefinition(Aspose.Cells.CustomFunctionDefinition) 或 Aspose.Cells.FormulaParseOptions.CustomFunctionDefinition), 则将返回一个数组(object[][]),其项为 A1+B1、A2+B2 等。

GetParamValueInArrayMode(int, int, int)

获取给定索引处参数的值。 如果参数是某种需要计算的表达式, 则将在数组模式下进行计算。

public object[][] GetParamValueInArrayMode(int index, int maxRowCount, int maxColumnCount)

参数

index int

参数的索引(基于 0)

maxRowCount int

返回数组的行数限制。 如果为非正数或大于实际行数,则将使用实际行数。

maxColumnCount int

返回数组的列数限制。 如果为非正数或大于实际列数,则将使用实际列数。

返回

object[][]

包含指定参数表示的所有项的数组。

备注

对于需要计算的表达式,以 A:A+B:B 为例: 在值模式下,它将根据当前单元格基计算为单个值。 但在数组模式下,A1+B1、A2+B2、A3+B3 等的所有值将被计算并用于构造返回数组。 对于这种情况,最好为行/列计数指定限制 (例如根据 Aspose.Cells.Cells.MaxDataRow 和 Aspose.Cells.Cells.MaxDataColumn), 否则返回的大数组可能会增加内存开销,并包含大量无用数据。

 中文