Class CalculationData
Namespace: Aspose.Cells
Assembly: Aspose.Cells.dll (25.2.0)
Представляє необхідні дані при обчисленні однієї функції, такі як ім’я функції, параметри тощо.
public class CalculationData
Спадкування
Спадковані члени
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Зауваження
Усі об’єкти, надані цим класом, призначені лише для “читання”. Користувач не повинен змінювати жодні дані у Workbook під час процесу обчислення формули, інакше можуть виникнути непередбачувані результати або виключення.
Властивості
CalculatedValue
Отримує або задає обчислене значення для цієї функції.
public object CalculatedValue { get; set; }
Значення властивості
Зауваження
Користувач повинен задати цю властивість у своєму власному обчислювальному механізмі для тих функцій, які підтримує механізм, і задане значення буде повернуто при отриманні цієї властивості пізніше. Задане значення може бути одного з можливих типів Aspose.Cells.Cell.Value, або масивом таких значень, або діапазоном, іменем, або посиланням на область. Отримання цієї властивості перед її встановленням призведе до обчислення функції за замовчуванням обчислювальним механізмом Aspose.Cells, і тоді обчислене значення буде повернуто (зазвичай це має бути #NAME? для функцій, визначених користувачем).
Cell
Отримує об’єкт Cell, де знаходиться функція.
public Cell Cell { get; }
Значення властивості
Зауваження
При обчисленні формули без встановлення її в клітинку, наприклад, за допомогою Aspose.Cells.Worksheet.CalculateFormula(System.String,Aspose.Cells.CalculationOptions), формула буде обчислена так, ніби вона була встановлена в клітинку A1, тому обидва Aspose.Cells.CalculationData.CellRow і Aspose.Cells.CalculationData.CellColumn дорівнюють 0. Однак клітинка A1 у робочому аркуші може не бути ініціалізована. Тому в такій ситуації ця властивість буде null.
CellColumn
Отримує індекс стовпця клітинки, де знаходиться функція.
public int CellColumn { get; }
Значення властивості
CellRow
Отримує індекс рядка клітинки, де знаходиться функція.
public int CellRow { get; }
Значення властивості
FunctionName
Отримує ім’я функції, яка має бути обчислена.
public string FunctionName { get; }
Значення властивості
ParamCount
Отримує кількість параметрів.
public int ParamCount { get; }
Значення властивості
Workbook
Отримує об’єкт Workbook, де знаходиться функція.
public Workbook Workbook { get; }
Значення властивості
Worksheet
Отримує об’єкт Worksheet, де знаходиться функція.
public Worksheet Worksheet { get; }
Значення властивості
Методи
GetParamText(int)
Отримує літеральний текст параметра за вказаним індексом.
public string GetParamText(int index)
Параметри
index
int
індекс параметра (з основою 0)
Повертає
літеральний текст параметра
GetParamValue(int)
Отримує представлений об’єкт значення параметра за вказаним індексом.
public object GetParamValue(int index)
Параметри
index
int
Індекс параметра (з основою 0)
Повертає
Обчислене значення параметра.
Зауваження
Для одного параметра:
Якщо це просте значення, то повертає саме просте значення;
Якщо це посилання, то повертає об'єкт ReferredArea;
Якщо це посилання на набори даних з кількома значеннями, то повертає масив об'єктів;
Якщо це якийсь вираз, який потрібно обчислити, то його буде обчислено в режимі значення і зазвичай буде повернено одне значення відповідно до бази поточної клітинки. Наприклад, якщо один з параметрів формули D2 - це A:A+B:B, то буде обчислено A2+B2 і повернено. Однак, якщо цей параметр був вказаний як масивний режим (за допомогою Aspose.Cells.Workbook.UpdateCustomFunctionDefinition(Aspose.Cells.CustomFunctionDefinition) або Aspose.Cells.FormulaParseOptions.CustomFunctionDefinition), то буде повернуто масив (object[][]), елементи якого - це A1+B1,A2+B2,....
GetParamValueInArrayMode(int, int, int)
Отримує значення(я) параметра за вказаним індексом. Якщо параметр є якимось виразом, який потрібно обчислити, то його буде обчислено в масивному режимі.
public object[][] GetParamValueInArrayMode(int index, int maxRowCount, int maxColumnCount)
Параметри
index
int
Індекс параметра (з основою 0)
maxRowCount
int
Обмеження кількості рядків для повернутого масиву. Якщо воно є непозитивним або більшим за фактичну кількість рядків, то буде використано фактичну кількість рядків.
maxColumnCount
int
Обмеження кількості стовпців для повернутого масиву. Якщо воно є непозитивним або більшим за фактичну кількість рядків, то буде використано фактичну кількість стовпців.
Повертає
object[][]
Масив, який містить усі елементи, представлені вказаним параметром.
Зауваження
Для виразу, який потрібно обчислити, взявши A:A+B:B як приклад: У режимі значення він буде обчислений до одного значення відповідно до бази поточної клітинки. Але в масивному режимі всі значення A1+B1,A2+B2,A3+B3,… будуть обчислені та використані для побудови повернутого масиву. І для такої ситуації краще вказати обмеження для кількості рядків/стовпців (наприклад, відповідно до Aspose.Cells.Cells.MaxDataRow та Aspose.Cells.Cells.MaxDataColumn), інакше повернутий великий масив може збільшити витрати пам’яті через велику кількість непотрібних даних.