Class CalculationData
Namespace: Aspose.Cells
Assembly: Aspose.Cells.dll (25.2.0)
Representa os dados necessários ao calcular uma função, como nome da função, parâmetros, etc.
public class CalculationData
Herança
Membros Herdados
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Observações
Todos os objetos fornecidos por esta classe são apenas para fins de “leitura”. O usuário não deve alterar nenhum dado no Workbook durante o processo de cálculo da fórmula, Caso contrário, um resultado inesperado ou uma exceção podem ser causados.
Propriedades
CalculatedValue
Obtém ou define o valor calculado para esta função.
public object CalculatedValue { get; set; }
Valor da Propriedade
Observações
O usuário deve definir esta propriedade em seu mecanismo de cálculo personalizado para aquelas funções que o mecanismo suporta, e o valor definido será retornado ao obter esta propriedade posteriormente. O valor definido pode ser de tipos possíveis de Aspose.Cells.Cell.Value, ou um array de tais valores, ou um Range, Name, ReferredArea. Obter esta propriedade antes de definir um valor fará com que a função seja calculada pelo mecanismo de cálculo padrão do Aspose.Cells e então o valor calculado será retornado (geralmente deve ser #NAME? para funções definidas pelo usuário).
Cell
Obtém o objeto Cell onde a função está.
public Cell Cell { get; }
Valor da Propriedade
Observações
Ao calcular uma fórmula sem defini-la em uma célula, como por Aspose.Cells.Worksheet.CalculateFormula(System.String,Aspose.Cells.CalculationOptions), a fórmula será calculada como se tivesse sido definida na célula A1, portanto, tanto Aspose.Cells.CalculationData.CellRow quanto Aspose.Cells.CalculationData.CellColumn são 0. No entanto, a célula A1 na planilha pode não ter sido instanciada. Portanto, para esse tipo de situação, esta propriedade será nula.
CellColumn
Obtém o índice da coluna da célula onde a função está.
public int CellColumn { get; }
Valor da Propriedade
CellRow
Obtém o índice da linha da célula onde a função está.
public int CellRow { get; }
Valor da Propriedade
FunctionName
Obtém o nome da função a ser calculada.
public string FunctionName { get; }
Valor da Propriedade
ParamCount
Obtém a contagem de parâmetros
public int ParamCount { get; }
Valor da Propriedade
Workbook
Obtém o objeto Workbook onde a função está.
public Workbook Workbook { get; }
Valor da Propriedade
Worksheet
Obtém o objeto Worksheet onde a função está.
public Worksheet Worksheet { get; }
Valor da Propriedade
Métodos
GetParamText(int)
Obtém o texto literal do parâmetro no índice dado.
public string GetParamText(int index)
Parâmetros
index
int
índice do parâmetro (base 0)
Retorna
texto literal do parâmetro
GetParamValue(int)
Obtém o objeto de valor representado do parâmetro no índice dado.
public object GetParamValue(int index)
Parâmetros
index
int
O índice do parâmetro (base 0)
Retorna
O valor calculado do parâmetro.
Observações
Para um parâmetro:
Se for um valor simples, retorna o próprio valor simples;
Se for uma referência, retorna o objeto ReferredArea;
Se referir-se a conjunto(s) de dados com múltiplos valores, retorna um array de objetos;
Se for algum tipo de expressão que precisa ser calculada, então será calculada em modo de valor e geralmente um único valor será retornado de acordo com a base da célula atual. Por exemplo, se um parâmetro da fórmula de D2 for A:A+B:B, então A2+B2 será calculado e retornado. No entanto, se este parâmetro tiver sido especificado como modo de array (por Aspose.Cells.Workbook.UpdateCustomFunctionDefinition(Aspose.Cells.CustomFunctionDefinition) ou Aspose.Cells.FormulaParseOptions.CustomFunctionDefinition), então um array (object[][]) será retornado cujos itens são A1+B1, A2+B2,....
GetParamValueInArrayMode(int, int, int)
Obtém o(s) valor(es) do parâmetro no índice dado. Se o parâmetro for algum tipo de expressão que precisa ser calculada, então será calculado em modo de array.
public object[][] GetParamValueInArrayMode(int index, int maxRowCount, int maxColumnCount)
Parâmetros
index
int
O índice do parâmetro (base 0)
maxRowCount
int
O limite de contagem de linhas para o array retornado. Se for não positivo ou maior que a contagem real de linhas, então a contagem real de linhas será usada.
maxColumnCount
int
O limite de contagem de colunas para o array retornado. Se for não positivo ou maior que a contagem real de colunas, então a contagem real de colunas será usada.
Retorna
object[][]
Um array que contém todos os itens representados pelo parâmetro especificado.
Observações
Para uma expressão que precisa ser calculada, tomando A:A+B:B como exemplo: Em modo de valor, será calculada para um único valor de acordo com a base da célula atual. Mas em modo de array, todos os valores de A1+B1, A2+B2, A3+B3,… serão calculados e usados para construir o array retornado. E para esse tipo de situação, é melhor especificar o limite para a contagem de linhas/colunas (como de acordo com Aspose.Cells.Cells.MaxDataRow e Aspose.Cells.Cells.MaxDataColumn), caso contrário, o grande array retornado pode aumentar o custo de memória com uma grande quantidade de dados inúteis.