Class CalculationData
Namespace: Aspose.Cells
Assembly: Aspose.Cells.dll (25.2.0)
Representa los datos requeridos al calcular una función, como el nombre de la función, parámetros, etc.
public class CalculationData
Herencia
Miembros heredados
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Observaciones
Todos los objetos proporcionados por esta clase son solo para fines de “lectura”. El usuario no debe cambiar ningún dato en el Workbook durante el proceso de cálculo de fórmulas, de lo contrario, se puede causar un resultado inesperado o una excepción.
Propiedades
CalculatedValue
Obtiene o establece el valor calculado para esta función.
public object CalculatedValue { get; set; }
Valor de la propiedad
Observaciones
El usuario debe establecer esta propiedad en su motor de cálculo personalizado para aquellas funciones que el motor admite, y el valor establecido se devolverá al obtener esta propiedad más tarde. El valor establecido puede ser de tipos posibles de Aspose.Cells.Cell.Value, o un arreglo de este tipo de valores, o un Rango, Nombre, ÁreaReferida. Obtener esta propiedad antes de establecer un valor hará que la función se calcule por el motor de cálculo predeterminado de Aspose.Cells y luego se devolverá el valor calculado (generalmente debería ser #NAME? para funciones definidas por el usuario).
Cell
Obtiene el objeto Cell donde se encuentra la función.
public Cell Cell { get; }
Valor de la propiedad
Observaciones
Al calcular una fórmula sin establecerla en una celda, como por Aspose.Cells.Worksheet.CalculateFormula(System.String,Aspose.Cells.CalculationOptions), la fórmula se calculará como si se hubiera establecido en la celda A1, por lo que tanto Aspose.Cells.CalculationData.CellRow como Aspose.Cells.CalculationData.CellColumn son 0. Sin embargo, la celda A1 en la hoja de trabajo puede no haber sido instanciada. Así que para este tipo de situación, esta propiedad será nula.
CellColumn
Obtiene el índice de columna de la celda donde se encuentra la función.
public int CellColumn { get; }
Valor de la propiedad
CellRow
Obtiene el índice de fila de la celda donde se encuentra la función.
public int CellRow { get; }
Valor de la propiedad
FunctionName
Obtiene el nombre de la función a calcular.
public string FunctionName { get; }
Valor de la propiedad
ParamCount
Obtiene el conteo de parámetros.
public int ParamCount { get; }
Valor de la propiedad
Workbook
Obtiene el objeto Workbook donde se encuentra la función.
public Workbook Workbook { get; }
Valor de la propiedad
Worksheet
Obtiene el objeto Worksheet donde se encuentra la función.
public Worksheet Worksheet { get; }
Valor de la propiedad
Métodos
GetParamText(int)
Obtiene el texto literal del parámetro en el índice dado.
public string GetParamText(int index)
Parámetros
index
int
índice del parámetro (basado en 0)
Retorna
texto literal del parámetro
GetParamValue(int)
Obtiene el objeto de valor representado del parámetro en el índice dado.
public object GetParamValue(int index)
Parámetros
index
int
El índice del parámetro (basado en 0)
Retorna
El valor calculado del parámetro.
Observaciones
Para un parámetro:
Si es un valor simple, entonces devuelve el valor simple en sí;
Si es una referencia, entonces devuelve el objeto ÁreaReferida;
Si hace referencia a conjunto(s) de datos con múltiples valores, entonces devuelve un arreglo de objetos;
Si es algún tipo de expresión que necesita ser calculada, entonces se calculará en modo de valor y generalmente se devolverá un solo valor según la celda base actual. Por ejemplo, si un parámetro de la fórmula de D2 es A:A+B:B, entonces A2+B2 se calculará y se devolverá. Sin embargo, si este parámetro ha sido especificado como modo de arreglo (por Aspose.Cells.Workbook.UpdateCustomFunctionDefinition(Aspose.Cells.CustomFunctionDefinition) o Aspose.Cells.FormulaParseOptions.CustomFunctionDefinition), entonces se devolverá un arreglo(object[][]) cuyos elementos son A1+B1,A2+B2,....
GetParamValueInArrayMode(int, int, int)
Obtiene el/los valor(es) del parámetro en el índice dado. Si el parámetro es algún tipo de expresión que necesita ser calculada, entonces se calculará en modo de arreglo.
public object[][] GetParamValueInArrayMode(int index, int maxRowCount, int maxColumnCount)
Parámetros
index
int
El índice del parámetro (basado en 0)
maxRowCount
int
El límite de conteo de filas para el arreglo devuelto. Si es no positivo o mayor que el conteo de filas real, entonces se usará el conteo de filas real.
maxColumnCount
int
El límite de conteo de columnas para el arreglo devuelto. Si es no positivo o mayor que el conteo de columnas real, entonces se usará el conteo de columnas real.
Retorna
object[][]
Un arreglo que contiene todos los elementos representados por el parámetro especificado.
Observaciones
Para una expresión que necesita ser calculada, tomando A:A+B:B como ejemplo: En modo de valor se calculará a un solo valor según la celda base actual. Pero en modo de arreglo, todos los valores de A1+B1,A2+B2,A3+B3,… serán calculados y utilizados para construir el arreglo devuelto. Y para este tipo de situación, es mejor especificar el límite para el conteo de filas/columnas (como de acuerdo a Aspose.Cells.Cells.MaxDataRow y Aspose.Cells.Cells.MaxDataColumn), de lo contrario, el gran arreglo devuelto puede aumentar el costo de memoria con una gran cantidad de datos inútiles.