Class CalculationData

Class CalculationData

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

関数名、パラメータなど、1つの関数を計算する際に必要なデータを表します。

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

パラメータの計算された値。

備考

1つのパラメータの場合:

プレーン値であれば、プレーン値自体を返します;

参照であれば、ReferredAreaオブジェクトを返します;

複数の値を持つデータセットを参照している場合、オブジェクトの配列を返します;

計算が必要な式の一種であれば、値モードで計算され、一般的に現在のセルベースに基づいて単一の値が返されます。例えば、D2の数式の1つのパラメータがA:A+B:Bであれば、A2+B2が計算されて返されます。 ただし、このパラメータが配列モードとして指定されている場合 (Aspose.Cells.Workbook.UpdateCustomFunctionDefinition(Aspose.Cells.CustomFunctionDefinition)またはAspose.Cells.FormulaParseOptions.CustomFunctionDefinitionによって)、 A1+B1、A2+B2、...の項目を持つ配列(object[][])が返されます。

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に基づいて)、
さもなければ、返される大きな配列が無駄なデータの大量によってメモリコストを増加させる可能性があります。

 日本語