Class CalculationData
Namespace: Aspose.Cells
Assembly: Aspose.Cells.dll (25.2.0)
Reprezentuje wymagane dane podczas obliczania jednej funkcji, takich jak nazwa funkcji, parametry, itp.
public class CalculationData
Dziedziczenie
Członkowie dziedziczeni
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Uwagi
Wszystkie obiekty dostarczane przez tę klasę są przeznaczone wyłącznie do odczytu.
Użytkownik nie powinien zmieniać żadnych danych w skoroszycie podczas procesu obliczania formuły,
w przeciwnym razie może wystąpić nieoczekiwany wynik lub wyjątek.
Właściwości
CalculatedValue
Pobiera lub ustawia obliczoną wartość dla tej funkcji.
public object CalculatedValue { get; set; }
Wartość właściwości
Uwagi
Użytkownik powinien ustawić tę właściwość w swoim niestandardowym silniku obliczeniowym dla tych funkcji, które silnik obsługuje,
a ustawiona wartość zostanie zwrócona przy późniejszym pobieraniu tej właściwości.
Ustawiona wartość może być różnych typów Aspose.Cells.Cell.Value,
lub tablicą takich wartości, lub zakresem, nazwą, obszarem odniesienia.
Pobranie tej właściwości przed ustawieniem wartości spowoduje, że funkcja zostanie obliczona
przez domyślny silnik obliczeniowy Aspose.Cells, a następnie zwrócona zostanie obliczona wartość
(ogólnie powinna to być #NAME? dla funkcji zdefiniowanych przez użytkownika).
Cell
Pobiera obiekt Cell, w którym znajduje się funkcja.
public Cell Cell { get; }
Wartość właściwości
Uwagi
Podczas obliczania formuły bez ustawiania jej w komórce,
takiej jak przez Aspose.Cells.Worksheet.CalculateFormula(System.String,Aspose.Cells.CalculationOptions),
formuła zostanie obliczona tak, jakby została ustawiona w komórce A1,
więc zarówno Aspose.Cells.CalculationData.CellRow, jak i Aspose.Cells.CalculationData.CellColumn są równe 0.
Jednak komórka A1 w arkuszu roboczym może nie być zainicjowana.
W związku z tym w takiej sytuacji ta właściwość będzie miała wartość null.
CellColumn
Pobiera indeks kolumny komórki, w której znajduje się funkcja.
public int CellColumn { get; }
Wartość właściwości
CellRow
Pobiera indeks wiersza komórki, w której znajduje się funkcja.
public int CellRow { get; }
Wartość właściwości
FunctionName
Pobiera nazwę funkcji do obliczenia.
public string FunctionName { get; }
Wartość właściwości
ParamCount
Pobiera liczbę parametrów.
public int ParamCount { get; }
Wartość właściwości
Workbook
Pobiera obiekt Workbook, w którym znajduje się funkcja.
public Workbook Workbook { get; }
Wartość właściwości
Worksheet
Pobiera obiekt Worksheet, w którym znajduje się funkcja.
public Worksheet Worksheet { get; }
Wartość właściwości
Metody
GetParamText(int)
Pobiera tekst literalny parametru o danym indeksie.
public string GetParamText(int index)
Parametry
index
int
indeks parametru (indeks zaczynający się od 0)
Zwraca
tekst literalny parametru
GetParamValue(int)
Pobiera reprezentowany obiekt wartości parametru o danym indeksie.
public object GetParamValue(int index)
Parametry
index
int
indeks parametru (indeks zaczynający się od 0)
Zwraca
obliczoną wartość parametru.
Uwagi
Dla jednego parametru:
Jeśli jest to wartość prosta, zwraca samą wartość prostą;
Jeśli jest to odniesienie, zwraca obiekt ReferredArea;
Jeśli odnosi się do zestawu danych z wieloma wartościami, zwraca tablicę obiektów;
Jeśli jest to jakiś rodzaj wyrażenia, które musi być obliczone, zostanie obliczone w trybie wartości i ogólnie zwróci pojedynczą wartość zgodnie z bieżącą bazą komórki. Na przykład, jeśli jednym z parametrów formuły D2 jest A:A+B:B, to A2+B2 zostanie obliczone i zwrócone. Jednakże, jeśli ten parametr został określony jako tryb tablicy (przez Aspose.Cells.Workbook.UpdateCustomFunctionDefinition(Aspose.Cells.CustomFunctionDefinition) lub Aspose.Cells.FormulaParseOptions.CustomFunctionDefinition), zostanie zwrócona tablica (object[][]), której elementy to A1+B1, A2+B2,....
GetParamValueInArrayMode(int, int, int)
Pobiera wartość(y) parametru o danym indeksie.
Jeśli parametr jest jakimś rodzajem wyrażenia, które musi być obliczone,
zostanie obliczone w trybie tablicy.
public object[][] GetParamValueInArrayMode(int index, int maxRowCount, int maxColumnCount)
Parametry
index
int
indeks parametru (indeks zaczynający się od 0)
maxRowCount
int
limit liczby wierszy dla zwracanej tablicy.
Jeśli jest niepozytywny lub większy niż rzeczywista liczba wierszy, użyta zostanie rzeczywista liczba wierszy.
maxColumnCount
int
limit liczby kolumn dla zwracanej tablicy.
Jeśli jest niepozytywny lub większy niż rzeczywista liczba kolumn, użyta zostanie rzeczywista liczba kolumn.
Zwraca
object[][]
Tablica, która zawiera wszystkie elementy reprezentowane przez określony parametr.
Uwagi
Dla wyrażenia, które musi być obliczone, biorąc A:A+B:B jako przykład:
W trybie wartości zostanie obliczone do pojedynczej wartości zgodnie z bieżącą bazą komórki.
Jednak w trybie tablicy wszystkie wartości A1+B1, A2+B2, A3+B3,… zostaną obliczone i użyte do skonstruowania zwracanej tablicy.
W takiej sytuacji lepiej jest określić limit dla liczby wierszy/kolumn
(np. zgodnie z Aspose.Cells.Cells.MaxDataRow i Aspose.Cells.Cells.MaxDataColumn),
w przeciwnym razie zwrócona duża tablica może zwiększyć koszty pamięci przy dużej ilości nieprzydatnych danych.