Class CalculationData

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

objectCalculationData

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

object

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

Cell

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

int

CellRow

Získá index řádku buňky, ve které se funkce nachází.

public int CellRow { get; }

Hodnota vlastnosti

int

FunctionName

Získá název funkce, která má být vypočtena.

public string FunctionName { get; }

Hodnota vlastnosti

string

ParamCount

Získá počet parametrů

public int ParamCount { get; }

Hodnota vlastnosti

int

Workbook

Získá objekt Workbook, ve kterém se funkce nachází.

public Workbook Workbook { get; }

Hodnota vlastnosti

Workbook

Worksheet

Získá objekt Worksheet, ve kterém se funkce nachází.

public Worksheet Worksheet { get; }

Hodnota vlastnosti

Worksheet

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

string

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

object

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.

 Čeština