Class CalculationData
Namespace: Aspose.Cells
Assembly: Aspose.Cells.dll (25.2.0)
Reprezentuje požadovaná data při výpočtu jedné funkce, jako je název funkce, parametry, …atd.
public class CalculationData
Dědičnost
Děděné členy
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Poznámky
Všechny objekty poskytované touto třídou jsou určeny pouze pro účely “čtení”. Uživatel by neměl měnit žádná data v sešitu během procesu výpočtu vzorce, jinak může být způsoben neočekávaný výsledek nebo výjimka.
Vlastnosti
CalculatedValue
Získá nebo nastaví vypočtenou hodnotu pro tuto funkci.
public object CalculatedValue { get; set; }
Hodnota vlastnosti
Poznámky
Uživatel by měl nastavit tuto vlastnost ve svém vlastním výpočetním enginu pro ty funkce, které engine podporuje, a nastavená hodnota bude vrácena při dalším získání této vlastnosti. Nastavená hodnota může být různých typů Aspose.Cells.Cell.Value, nebo pole takových hodnot, nebo oblast, název, odkázaná oblast. Získání této vlastnosti před nastavením hodnoty na ni způsobí, že funkce bude vypočtena výchozím výpočetním enginem Aspose.Cells a poté bude vrácena vypočtená hodnota (obvykle by to mělo být #NAME? pro uživatelsky definované funkce).
Cell
Získá objekt Cell, ve kterém se funkce nachází.
public Cell Cell { get; }
Hodnota vlastnosti
Poznámky
Při výpočtu vzorce bez jeho nastavení do buňky, například pomocí Aspose.Cells.Worksheet.CalculateFormula(System.String,Aspose.Cells.CalculationOptions), bude vzorec vypočten tak, jako by byl nastaven do buňky A1, takže jak Aspose.Cells.CalculationData.CellRow, tak Aspose.Cells.CalculationData.CellColumn jsou 0. Nicméně, buňka A1 v pracovním listu nemusí být inicializována. Takže v takovém případě bude tato vlastnost null.
CellColumn
Získá index sloupce buňky, ve které se funkce nachází.
public int CellColumn { get; }
Hodnota vlastnosti
CellRow
Získá index řádku buňky, ve které se funkce nachází.
public int CellRow { get; }
Hodnota vlastnosti
FunctionName
Získá název funkce, která má být vypočtena.
public string FunctionName { get; }
Hodnota vlastnosti
ParamCount
Získá počet parametrů
public int ParamCount { get; }
Hodnota vlastnosti
Workbook
Získá objekt Workbook, ve kterém se funkce nachází.
public Workbook Workbook { get; }
Hodnota vlastnosti
Worksheet
Získá objekt Worksheet, ve kterém se funkce nachází.
public Worksheet Worksheet { get; }
Hodnota vlastnosti
Metody
GetParamText(int)
Získá doslovný text parametru na daném indexu.
public string GetParamText(int index)
Parametry
index
int
index parametru (0 založený)
Návratová hodnota
doslovný text parametru
GetParamValue(int)
Získá reprezentovanou hodnotu objektu parametru na daném indexu.
public object GetParamValue(int index)
Parametry
index
int
Index parametru (0 založený)
Návratová hodnota
Vypočtená hodnota parametru.
Poznámky
Pro jeden parametr:
Pokud je to jednoduchá hodnota, vrátí se samotná jednoduchá hodnota;
Pokud je to odkaz, vrátí se objekt ReferredArea;
Pokud odkazuje na dataset(y) s více hodnotami, vrátí se pole objektů;
Pokud je to nějaký druh výrazu, který je třeba vypočítat, bude vypočten v režimu hodnoty a obecně bude vrácena jedna hodnota podle aktuální základny buňky. Například, pokud je jeden parametr vzorce D2 A:A+B:B, pak A2+B2 bude vypočteno a vráceno. Nicméně, pokud byl tento parametr specifikován jako režim pole (pomocí Aspose.Cells.Workbook.UpdateCustomFunctionDefinition(Aspose.Cells.CustomFunctionDefinition) nebo Aspose.Cells.FormulaParseOptions.CustomFunctionDefinition), pak bude vráceno pole (object[][]), jehož položky jsou A1+B1, A2+B2,....
GetParamValueInArrayMode(int, int, int)
Získá hodnotu(y) parametru na daném indexu. Pokud je parametr nějaký druh výrazu, který je třeba vypočítat, bude vypočten v režimu pole.
public object[][] GetParamValueInArrayMode(int index, int maxRowCount, int maxColumnCount)
Parametry
index
int
Index parametru (0 založený)
maxRowCount
int
Limit počtu řádků pro vrácené pole. Pokud je nenegativní nebo větší než skutečný počet řádků, pak bude použit skutečný počet řádků.
maxColumnCount
int
Limit počtu sloupců pro vrácené pole. Pokud je nenegativní nebo větší než skutečný počet sloupců, pak bude použit skutečný počet sloupců.
Návratová hodnota
object[][]
Pole, které obsahuje všechny položky reprezentované zadaným parametrem.
Poznámky
Pro výraz, který je třeba vypočítat, vezměme A:A+B:B jako příklad: V režimu hodnoty bude vypočten na jednu hodnotu podle aktuální základny buňky. Ale v režimu pole budou všechny hodnoty A1+B1, A2+B2, A3+B3,… vypočteny a použity k sestavení vráceného pole. A pro takovou situaci je lepší specifikovat limit pro počet řádků/sloupců (například podle Aspose.Cells.Cells.MaxDataRow a Aspose.Cells.Cells.MaxDataColumn), jinak může vrácené velké pole zvýšit náklady na paměť s velkým množstvím zbytečných dat.