Class CalculationData
Namespace: Aspose.Cells
Assembly: Aspose.Cells.dll (25.2.0)
Représente les données requises lors du calcul d’une fonction, telles que le nom de la fonction, les paramètres, …etc.
public class CalculationData
Héritage
Membres Hérités
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Remarques
Tous les objets fournis par cette classe sont uniquement destinés à être “lus”.
L’utilisateur ne doit pas modifier les données dans le Workbook pendant le processus de calcul de formule,
sinon un résultat inattendu ou une exception peut survenir.
Propriétés
CalculatedValue
Obtient ou définit la valeur calculée pour cette fonction.
public object CalculatedValue { get; set; }
Valeur de la Propriété
Remarques
L’utilisateur doit définir cette propriété dans son moteur de calcul personnalisé pour les fonctions que le moteur prend en charge,
et la valeur définie sera retournée lors de l’obtention de cette propriété plus tard.
La valeur définie peut être de types possibles de Aspose.Cells.Cell.Value,
ou un tableau de ce type de valeurs, ou une plage, un nom, une zone référencée.
Obtenir cette propriété avant de lui attribuer une valeur fera que la fonction sera calculée
par le moteur de calcul par défaut d’Aspose.Cells et la valeur calculée sera
retournée (généralement cela devrait être #NAME? pour les fonctions définies par l’utilisateur).
Cell
Obtient l’objet Cell où se trouve la fonction.
public Cell Cell { get; }
Valeur de la Propriété
Remarques
Lors du calcul d’une formule sans l’attribuer à une cellule,
comme par Aspose.Cells.Worksheet.CalculateFormula(System.String,Aspose.Cells.CalculationOptions),
la formule sera calculée comme si elle avait été définie dans la cellule A1,
donc à la fois Aspose.Cells.CalculationData.CellRow et Aspose.Cells.CalculationData.CellColumn sont 0.
Cependant, la cellule A1 dans la feuille de calcul peut ne pas avoir été instanciée.
Ainsi, dans ce genre de situation, cette propriété sera nulle.
CellColumn
Obtient l’index de colonne de la cellule où se trouve la fonction.
public int CellColumn { get; }
Valeur de la Propriété
CellRow
Obtient l’index de ligne de la cellule où se trouve la fonction.
public int CellRow { get; }
Valeur de la Propriété
FunctionName
Obtient le nom de la fonction à calculer.
public string FunctionName { get; }
Valeur de la Propriété
ParamCount
Obtient le nombre de paramètres.
public int ParamCount { get; }
Valeur de la Propriété
Workbook
Obtient l’objet Workbook où se trouve la fonction.
public Workbook Workbook { get; }
Valeur de la Propriété
Worksheet
Obtient l’objet Worksheet où se trouve la fonction.
public Worksheet Worksheet { get; }
Valeur de la Propriété
Méthodes
GetParamText(int)
Obtient le texte littéral du paramètre à l’index donné.
public string GetParamText(int index)
Paramètres
index
int
index du paramètre (base 0)
Retourne
texte littéral du paramètre
GetParamValue(int)
Obtient l’objet de valeur représenté du paramètre à l’index donné.
public object GetParamValue(int index)
Paramètres
index
int
L’index du paramètre (base 0)
Retourne
La valeur calculée du paramètre.
Remarques
Pour un paramètre :
Si c'est une valeur simple, alors retourne la valeur simple elle-même ;
Si c'est une référence, alors retourne l'objet ReferredArea ;
Si cela fait référence à un ou plusieurs ensembles de données avec plusieurs valeurs, alors retourne un tableau d'objets ;
Si c'est une sorte d'expression qui doit être calculée, alors elle sera calculée en mode valeur et généralement une seule valeur sera retournée selon la cellule actuelle. Par exemple, si un paramètre de la formule D2 est A:A+B:B, alors A2+B2 sera calculé et retourné. Cependant, si ce paramètre a été spécifié en mode tableau (par Aspose.Cells.Workbook.UpdateCustomFunctionDefinition(Aspose.Cells.CustomFunctionDefinition) ou Aspose.Cells.FormulaParseOptions.CustomFunctionDefinition), alors un tableau (object[][]) sera retourné dont les éléments sont A1+B1, A2+B2,....
GetParamValueInArrayMode(int, int, int)
Obtient la ou les valeur(s) du paramètre à l’index donné.
Si le paramètre est une sorte d’expression qui doit être calculée,
alors elle sera calculée en mode tableau.
public object[][] GetParamValueInArrayMode(int index, int maxRowCount, int maxColumnCount)
Paramètres
index
int
L’index du paramètre (base 0)
maxRowCount
int
La limite de nombre de lignes pour le tableau retourné.
Si elle est non positive ou supérieure au nombre de lignes réel, alors le nombre de lignes réel sera utilisé.
maxColumnCount
int
La limite de nombre de colonnes pour le tableau retourné.
Si elle est non positive ou supérieure au nombre de colonnes réel, alors le nombre de colonnes réel sera utilisé.
Retourne
object[][]
Un tableau qui contient tous les éléments représentés par le paramètre spécifié.
Remarques
Pour une expression qui doit être calculée, prenant A:A+B:B comme exemple :
En mode valeur, elle sera calculée à une seule valeur selon la cellule actuelle.
Mais en mode tableau, toutes les valeurs de A1+B1, A2+B2, A3+B3,… seront calculées et utilisées pour construire le tableau retourné.
Et pour ce genre de situation, il est préférable de spécifier la limite pour le nombre de lignes/colonnes
(par exemple selon Aspose.Cells.Cells.MaxDataRow et Aspose.Cells.Cells.MaxDataColumn),
sinon le grand tableau retourné peut augmenter le coût mémoire avec une grande quantité de données inutiles.