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
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
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
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
CellRow
Får radindexet för cellen där funktionen finns.
public int CellRow { get; }
Egenskapsvärde
FunctionName
Får funktionsnamnet som ska beräknas.
public string FunctionName { get; }
Egenskapsvärde
ParamCount
Får antalet parametrar
public int ParamCount { get; }
Egenskapsvärde
Workbook
Får Workbook-objektet där funktionen finns.
public Workbook Workbook { get; }
Egenskapsvärde
Worksheet
Får Worksheet-objektet där funktionen finns.
public Worksheet Worksheet { get; }
Egenskapsvärde
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
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
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.