Class CalculationData

Class CalculationData

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

Representerar de nödvändiga uppgifterna när en funktion beräknas, såsom funktionsnamn, parametrar, …etc.

public class CalculationData

Arv

objectCalculationData

Arvade Medlemmar

object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()

Kommentarer

Alla objekt som tillhandahålls av denna klass är endast för “läs”-ändamål.
Användaren bör inte ändra några data i arbetsboken under formelberäkningsprocessen,
Annars kan oväntade resultat eller undantag orsakas.

Egenskaper

CalculatedValue

Får eller sätter det beräknade värdet för denna funktion.

public object CalculatedValue { get; set; }

Egenskapsvärde

object

Kommentarer

Användaren bör ställa in denna egenskap i sin anpassade beräkningsmotor för de funktioner som motorn stöder,
och det angivna värdet kommer att returneras när denna egenskap hämtas senare.
Det angivna värdet kan vara av möjliga typer av Aspose.Cells.Cell.Value,
eller en array av sådana värden, eller ett intervall, namn, referensområde.
Att hämta denna egenskap innan värdet har angetts kommer att göra att funktionen beräknas
av Aspose.Cells standardberäkningsmotor och det beräknade värdet kommer
att returneras (generellt bör det vara #NAME? för användardefinierade funktioner).

Cell

Får Cell-objektet där funktionen finns.

public Cell Cell { get; }

Egenskapsvärde

Cell

Kommentarer

När en formel beräknas utan att ställas in i en cell,
såsom av Aspose.Cells.Worksheet.CalculateFormula(System.String,Aspose.Cells.CalculationOptions),
kommer formeln att beräknas som om den har ställts in i cell A1,
så både Aspose.Cells.CalculationData.CellRow och Aspose.Cells.CalculationData.CellColumn är 0.
Men cell A1 i kalkylbladet kan ha inte har instansierats.
Så för sådana situationer kommer denna egenskap att vara null.

CellColumn

Får kolumnindexet för cellen där funktionen finns.

public int CellColumn { get; }

Egenskapsvärde

int

CellRow

Får radindexet för cellen där funktionen finns.

public int CellRow { get; }

Egenskapsvärde

int

FunctionName

Får funktionsnamnet som ska beräknas.

public string FunctionName { get; }

Egenskapsvärde

string

ParamCount

Får antalet parametrar

public int ParamCount { get; }

Egenskapsvärde

int

Workbook

Får Workbook-objektet där funktionen finns.

public Workbook Workbook { get; }

Egenskapsvärde

Workbook

Worksheet

Får Worksheet-objektet där funktionen finns.

public Worksheet Worksheet { get; }

Egenskapsvärde

Worksheet

Metoder

GetParamText(int)

Får den bokstavliga texten av parametern vid angiven index.

public string GetParamText(int index)

Parametrar

index int

index för parametern (0-baserad)

Returnerar

string

den bokstavliga texten av parametern

GetParamValue(int)

Får det representerade värdeobjektet av parametern vid angiven index.

public object GetParamValue(int index)

Parametrar

index int

Index för parametern (0-baserad)

Returnerar

object

Det beräknade värdet av parametern.

Kommentarer

För en parameter:

Om det är ett enkelt värde, returneras det enkla värdet självt;

Om det är en referens, returneras ReferredArea-objektet;

Om det refererar till dataset med flera värden, returneras en array av objekt;

Om det är någon slags uttryck som behöver beräknas, kommer det att beräknas i värdeläget och generellt kommer ett enda värde att returneras enligt den aktuella cellens bas. Till exempel, om en parameter i D2:s formel är A:A+B:B, kommer A2+B2 att beräknas och returneras. Men om denna parameter har specificerats som arrayläge (av Aspose.Cells.Workbook.UpdateCustomFunctionDefinition(Aspose.Cells.CustomFunctionDefinition) eller Aspose.Cells.FormulaParseOptions.CustomFunctionDefinition), kommer en array (object[][]) att returneras vars objekt är A1+B1, A2+B2,....

GetParamValueInArrayMode(int, int, int)

Får värde(r) för parametern vid angiven index.
Om parametern är någon slags uttryck som behöver beräknas,
kommer det att beräknas i arrayläge.

public object[][] GetParamValueInArrayMode(int index, int maxRowCount, int maxColumnCount)

Parametrar

index int

Index för parametern (0-baserad)

maxRowCount int

Radantalet gräns för den returnerade arrayen.
Om det är icke-positivt eller större än det faktiska radantalet, kommer det faktiska radantalet att användas.

maxColumnCount int

Kolumnantalet gräns för den returnerade arrayen.
Om det är icke-positivt eller större än det faktiska radantalet, kommer det faktiska kolumnantalet att användas.

Returnerar

object[][]

En array som innehåller alla objekt som representeras av den angivna parametern.

Kommentarer

För ett uttryck som behöver beräknas, med A:A+B:B som exempel:
I värdeläge kommer det att beräknas till ett enda värde enligt den aktuella cellens bas.
Men i arrayläge kommer alla värden av A1+B1, A2+B2, A3+B3,… att beräknas och användas för att konstruera den returnerade arrayen.
Och för sådana situationer är det bättre att specificera gränsen för rad/kollumnantal
(såsom enligt Aspose.Cells.Cells.MaxDataRow och Aspose.Cells.Cells.MaxDataColumn),
annars kan den returnerade stora arrayen öka minneskostnaden med en stor mängd onödiga data.

 Svenska