Class CalculationData
Namespace: Aspose.Cells
Assembly: Aspose.Cells.dll (25.2.0)
Stellt die erforderlichen Daten zur Verfügung, wenn eine Funktion berechnet wird, wie z.B. Funktionsname, Parameter, …usw.
public class CalculationData
Vererbung
Vererbte Mitglieder
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Bemerkungen
Alle Objekte, die von dieser Klasse bereitgestellt werden, sind nur für “Lesen” vorgesehen. Der Benutzer sollte während des Berechnungsprozesses der Formel keine Daten im Arbeitsbuch ändern, sonst kann es zu unerwarteten Ergebnissen oder Ausnahmen kommen.
Eigenschaften
CalculatedValue
Erhält oder setzt den berechneten Wert für diese Funktion.
public object CalculatedValue { get; set; }
Eigenschaftswert
Bemerkungen
Der Benutzer sollte diese Eigenschaft in seiner benutzerdefinierten Berechnungsengine für die Funktionen setzen, die die Engine unterstützt, und der gesetzte Wert wird zurückgegeben, wenn diese Eigenschaft später abgerufen wird. Der gesetzte Wert kann aus möglichen Typen von Aspose.Cells.Cell.Value bestehen, oder aus einem Array solcher Werte, oder aus einem Bereich, Namen, Referenzbereich. Das Abrufen dieser Eigenschaft, bevor ein Wert gesetzt wird, führt dazu, dass die Funktion von der Standardberechnungsengine von Aspose.Cells berechnet wird und der berechnete Wert zurückgegeben wird (allgemein sollte dies #NAME? für benutzerdefinierte Funktionen sein).
Cell
Erhält das Cell-Objekt, in dem sich die Funktion befindet.
public Cell Cell { get; }
Eigenschaftswert
Bemerkungen
Bei der Berechnung einer Formel, ohne sie in eine Zelle zu setzen, wie z.B. durch Aspose.Cells.Worksheet.CalculateFormula(System.String,Aspose.Cells.CalculationOptions), wird die Formel so berechnet, als wäre sie in Zelle A1 gesetzt, sodass sowohl Aspose.Cells.CalculationData.CellRow als auch Aspose.Cells.CalculationData.CellColumn 0 sind. Allerdings könnte Zelle A1 im Arbeitsblatt nicht instanziiert worden sein. Für solche Situationen wird diese Eigenschaft daher null sein.
CellColumn
Erhält den Spaltenindex der Zelle, in der sich die Funktion befindet.
public int CellColumn { get; }
Eigenschaftswert
CellRow
Erhält den Zeilenindex der Zelle, in der sich die Funktion befindet.
public int CellRow { get; }
Eigenschaftswert
FunctionName
Erhält den Funktionsnamen, der berechnet werden soll.
public string FunctionName { get; }
Eigenschaftswert
ParamCount
Erhält die Anzahl der Parameter.
public int ParamCount { get; }
Eigenschaftswert
Workbook
Erhält das Workbook-Objekt, in dem sich die Funktion befindet.
public Workbook Workbook { get; }
Eigenschaftswert
Worksheet
Erhält das Worksheet-Objekt, in dem sich die Funktion befindet.
public Worksheet Worksheet { get; }
Eigenschaftswert
Methoden
GetParamText(int)
Erhält den literalen Text des Parameters am angegebenen Index.
public string GetParamText(int index)
Parameter
index
int
Index des Parameters (0-basiert)
Rückgabewert
Literaler Text des Parameters
GetParamValue(int)
Erhält das repräsentierte Wertobjekt des Parameters am angegebenen Index.
public object GetParamValue(int index)
Parameter
index
int
Der Index des Parameters (0-basiert)
Rückgabewert
Der berechnete Wert des Parameters.
Bemerkungen
Für einen Parameter:
Wenn es sich um einen einfachen Wert handelt, wird der einfache Wert selbst zurückgegeben;
Wenn es sich um eine Referenz handelt, wird das ReferredArea-Objekt zurückgegeben;
Wenn es sich um Referenzen zu Datensätzen mit mehreren Werten handelt, wird ein Array von Objekten zurückgegeben;
Wenn es sich um eine Art von Ausdruck handelt, der berechnet werden muss, wird er im Wertmodus berechnet und in der Regel wird ein einzelner Wert gemäß der aktuellen Zelle zurückgegeben. Zum Beispiel, wenn ein Parameter der Formel in D2 A:A+B:B ist, wird A2+B2 berechnet und zurückgegeben. Wenn dieser Parameter jedoch als Array-Modus angegeben wurde (durch Aspose.Cells.Workbook.UpdateCustomFunctionDefinition(Aspose.Cells.CustomFunctionDefinition) oder Aspose.Cells.FormulaParseOptions.CustomFunctionDefinition), wird ein Array (object[][]) zurückgegeben, dessen Elemente A1+B1, A2+B2,.... sind.
GetParamValueInArrayMode(int, int, int)
Erhält den/die Wert(e) des Parameters am angegebenen Index. Wenn der Parameter eine Art von Ausdruck ist, der berechnet werden muss, wird er im Array-Modus berechnet.
public object[][] GetParamValueInArrayMode(int index, int maxRowCount, int maxColumnCount)
Parameter
index
int
Der Index des Parameters (0-basiert)
maxRowCount
int
Die Zeilenanzahlgrenze für das zurückgegebene Array. Wenn sie nicht positiv oder größer als die tatsächliche Zeilenanzahl ist, wird die tatsächliche Zeilenanzahl verwendet.
maxColumnCount
int
Die Spaltenanzahlgrenze für das zurückgegebene Array. Wenn sie nicht positiv oder größer als die tatsächliche Spaltenanzahl ist, wird die tatsächliche Spaltenanzahl verwendet.
Rückgabewert
object[][]
Ein Array, das alle Elemente enthält, die durch den angegebenen Parameter dargestellt werden.
Bemerkungen
Für einen Ausdruck, der berechnet werden muss, nehmen wir A:A+B:B als Beispiel: Im Wertmodus wird er zu einem einzelnen Wert gemäß der aktuellen Zelle berechnet. Aber im Array-Modus werden alle Werte von A1+B1, A2+B2, A3+B3,… berechnet und verwendet, um das zurückgegebene Array zu konstruieren. Für solche Situationen ist es besser, die Grenze für die Zeilen-/Spaltenanzahl anzugeben (z.B. gemäß Aspose.Cells.Cells.MaxDataRow und Aspose.Cells.Cells.MaxDataColumn), ansonsten kann das zurückgegebene große Array die Speicherkosten mit einer großen Menge unnötiger Daten erhöhen.