Class CalculationData
Namespace: Aspose.Cells
Assembly: Aspose.Cells.dll (25.2.0)
Rappresenta i dati richiesti quando si calcola una funzione, come il nome della funzione, i parametri, …ecc.
public class CalculationData
Ereditarietà
Membri Ereditati
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Osservazioni
Tutti gli oggetti forniti da questa classe sono solo per scopi di “lettura”.
L’utente non dovrebbe modificare alcun dato nel Workbook durante il processo di calcolo della formula,
altrimenti potrebbero verificarsi risultati imprevisti o eccezioni.
Proprietà
CalculatedValue
Ottiene o imposta il valore calcolato per questa funzione.
public object CalculatedValue { get; set; }
Valore della Proprietà
Osservazioni
L’utente dovrebbe impostare questa proprietà nel proprio motore di calcolo personalizzato per quelle funzioni supportate dal motore,
e il valore impostato verrà restituito quando si recupera successivamente questa proprietà.
Il valore impostato può essere di possibili tipi di Aspose.Cells.Cell.Value,
o un array di tali valori, o un Range, Name, ReferredArea.
Recuperare questa proprietà prima di impostare un valore su di essa farà sì che la funzione venga calcolata
dal motore di calcolo predefinito di Aspose.Cells e quindi il valore calcolato verrà
restituito (generalmente dovrebbe essere #NAME? per le funzioni definite dall’utente).
Cell
Ottiene l’oggetto Cell in cui si trova la funzione.
public Cell Cell { get; }
Valore della Proprietà
Osservazioni
Quando si calcola una formula senza impostarla su una cella,
come per Aspose.Cells.Worksheet.CalculateFormula(System.String,Aspose.Cells.CalculationOptions),
la formula verrà calcolata come se fosse stata impostata sulla cella A1,
quindi sia Aspose.Cells.CalculationData.CellRow che Aspose.Cells.CalculationData.CellColumn sono 0.
Tuttavia, la cella A1 nel foglio di lavoro potrebbe non essere stata istanziata.
Quindi, per questo tipo di situazione, questa proprietà sarà null.
CellColumn
Ottiene l’indice della colonna della cella in cui si trova la funzione.
public int CellColumn { get; }
Valore della Proprietà
CellRow
Ottiene l’indice della riga della cella in cui si trova la funzione.
public int CellRow { get; }
Valore della Proprietà
FunctionName
Ottiene il nome della funzione da calcolare.
public string FunctionName { get; }
Valore della Proprietà
ParamCount
Ottiene il conteggio dei parametri.
public int ParamCount { get; }
Valore della Proprietà
Workbook
Ottiene l’oggetto Workbook in cui si trova la funzione.
public Workbook Workbook { get; }
Valore della Proprietà
Worksheet
Ottiene l’oggetto Worksheet in cui si trova la funzione.
public Worksheet Worksheet { get; }
Valore della Proprietà
Metodi
GetParamText(int)
Ottiene il testo letterale del parametro all’indice specificato.
public string GetParamText(int index)
Parametri
index
int
indice del parametro (basato su 0)
Restituisce
testo letterale del parametro
GetParamValue(int)
Ottiene l’oggetto valore rappresentato del parametro all’indice specificato.
public object GetParamValue(int index)
Parametri
index
int
L’indice del parametro (basato su 0)
Restituisce
Il valore calcolato del parametro.
Osservazioni
Per un parametro:
Se è un valore semplice, restituisce il valore semplice stesso;
Se è un riferimento, restituisce l'oggetto ReferredArea;
Se fa riferimento a dataset con più valori, restituisce un array di oggetti;
Se è qualche tipo di espressione che deve essere calcolata, allora verrà calcolata in modalità valore e generalmente verrà restituito un singolo valore in base alla cella corrente. Ad esempio, se un parametro della formula di D2 è A:A+B:B, allora A2+B2 verrà calcolato e restituito. Tuttavia, se questo parametro è stato specificato come modalità array (da Aspose.Cells.Workbook.UpdateCustomFunctionDefinition(Aspose.Cells.CustomFunctionDefinition) o Aspose.Cells.FormulaParseOptions.CustomFunctionDefinition), allora verrà restituito un array (object[][]) i cui elementi sono A1+B1, A2+B2,....
GetParamValueInArrayMode(int, int, int)
Ottiene il/i valore/i del parametro all’indice specificato.
Se il parametro è qualche tipo di espressione che deve essere calcolata,
allora verrà calcolato in modalità array.
public object[][] GetParamValueInArrayMode(int index, int maxRowCount, int maxColumnCount)
Parametri
index
int
L’indice del parametro (basato su 0)
maxRowCount
int
Il limite del conteggio delle righe per l’array restituito.
Se è non positivo o maggiore del conteggio delle righe effettivo, verrà utilizzato il conteggio delle righe effettivo.
maxColumnCount
int
Il limite del conteggio delle colonne per l’array restituito.
Se è non positivo o maggiore del conteggio delle colonne effettivo, verrà utilizzato il conteggio delle colonne effettivo.
Restituisce
object[][]
Un array che contiene tutti gli elementi rappresentati dal parametro specificato.
Osservazioni
Per un’espressione che deve essere calcolata, prendendo A:A+B:B come esempio:
in modalità valore verrà calcolata a un singolo valore in base alla cella corrente.
Ma in modalità array, tutti i valori di A1+B1, A2+B2, A3+B3,… verranno calcolati e utilizzati per costruire l’array restituito.
E per questo tipo di situazione, è meglio specificare il limite per il conteggio delle righe/colonne
(come secondo Aspose.Cells.Cells.MaxDataRow e Aspose.Cells.Cells.MaxDataColumn),
altrimenti il grande array restituito potrebbe aumentare il costo della memoria con una grande quantità di dati inutili.