Class CalculationData
Namespace: Aspose.Cells
Assembly: Aspose.Cells.dll (25.2.0)
表示计算一个函数时所需的数据,例如函数名称、参数等。
public class CalculationData
继承
继承成员
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; }
属性值
备注
用户应在其自定义计算引擎中为引擎支持的那些函数设置此属性, 并且设置的值将在稍后获取此属性时返回。 设置的值可以是 Aspose.Cells.Cell.Value 的可能类型, 或此类值的数组,或范围、名称、引用区域。 在设置值之前获取此属性将使函数通过 Aspose.Cells 的默认计算引擎进行计算, 然后返回计算值(通常对于用户定义的函数应为 #NAME?)。
Cell
获取函数所在的单元格对象。
public Cell Cell { get; }
属性值
备注
在没有将公式设置到单元格的情况下计算公式时, 例如通过 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; }
属性值
CellRow
获取函数所在单元格的行索引。
public int CellRow { get; }
属性值
FunctionName
获取要计算的函数名称。
public string FunctionName { get; }
属性值
ParamCount
获取参数的数量。
public int ParamCount { get; }
属性值
Workbook
获取函数所在的工作簿对象。
public Workbook Workbook { get; }
属性值
Worksheet
获取函数所在的工作表对象。
public Worksheet Worksheet { get; }
属性值
方法
GetParamText(int)
获取给定索引处参数的字面文本。
public string GetParamText(int index)
参数
index
int
参数的索引(基于 0)
返回
参数的字面文本。
GetParamValue(int)
获取给定索引处参数的表示值对象。
public object GetParamValue(int index)
参数
index
int
参数的索引(基于 0)
返回
参数的计算值。
备注
对于一个参数:
如果是普通值,则返回普通值本身;
如果是引用,则返回 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), 否则返回的大数组可能会增加内存开销,并包含大量无用数据。