Class CalculationData

Class CalculationData

Namespace: Aspose.Cells
Assembly: Aspose.Cells.dll (25.2.0)

Представляє необхідні дані при обчисленні однієї функції, такі як ім’я функції, параметри тощо.

public class CalculationData

Спадкування

objectCalculationData

Спадковані члени

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; }

Значення властивості

object

Зауваження

Користувач повинен задати цю властивість у своєму власному обчислювальному механізмі для тих функцій, які підтримує механізм, і задане значення буде повернуто при отриманні цієї властивості пізніше. Задане значення може бути одного з можливих типів Aspose.Cells.Cell.Value, або масивом таких значень, або діапазоном, іменем, або посиланням на область. Отримання цієї властивості перед її встановленням призведе до обчислення функції за замовчуванням обчислювальним механізмом Aspose.Cells, і тоді обчислене значення буде повернуто (зазвичай це має бути #NAME? для функцій, визначених користувачем).

Cell

Отримує об’єкт Cell, де знаходиться функція.

public Cell Cell { get; }

Значення властивості

Cell

Зауваження

При обчисленні формули без встановлення її в клітинку, наприклад, за допомогою 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; }

Значення властивості

int

CellRow

Отримує індекс рядка клітинки, де знаходиться функція.

public int CellRow { get; }

Значення властивості

int

FunctionName

Отримує ім’я функції, яка має бути обчислена.

public string FunctionName { get; }

Значення властивості

string

ParamCount

Отримує кількість параметрів.

public int ParamCount { get; }

Значення властивості

int

Workbook

Отримує об’єкт Workbook, де знаходиться функція.

public Workbook Workbook { get; }

Значення властивості

Workbook

Worksheet

Отримує об’єкт Worksheet, де знаходиться функція.

public Worksheet Worksheet { get; }

Значення властивості

Worksheet

Методи

GetParamText(int)

Отримує літеральний текст параметра за вказаним індексом.

public string GetParamText(int index)

Параметри

index int

індекс параметра (з основою 0)

Повертає

string

літеральний текст параметра

GetParamValue(int)

Отримує представлений об’єкт значення параметра за вказаним індексом.

public object GetParamValue(int index)

Параметри

index int

Індекс параметра (з основою 0)

Повертає

object

Обчислене значення параметра.

Зауваження

Для одного параметра:

Якщо це просте значення, то повертає саме просте значення;

Якщо це посилання, то повертає об'єкт 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), інакше повернутий великий масив може збільшити витрати пам’яті через велику кількість непотрібних даних.

 Українська