AbstractCalculationEngine
Содержание
[
Скрывать
]AbstractCalculationEngine class
Представляет пользовательский механизм расчета для расширения механизма расчета по умолчанию Aspose.Cells.
public abstract class AbstractCalculationEngine
Характеристики
Имя | Описание |
---|---|
virtual IsParamLiteralRequired { get; } | Указывает, нужен ли этому движку буквальный текст параметра при выполнении вычислений. Значение по умолчанию — false. |
virtual ProcessBuiltInFunctions { get; } | Должны ли встроенные функции, которые поддерживаются встроенным движком, проверяться и обрабатываться этой реализацией. Значение по умолчанию — false. установить как истину. |
Методы
Имя | Описание |
---|---|
abstract Calculate(CalculationData) | Вычисляет одну функцию с заданными данными. |
Примечания
Пользователь не должен изменять какую-либо часть рабочей книги непосредственно в этой реализации (за исключением вычисленного результата пользовательской функции, который может быть установлен свойством CalculationData.CalculatedValue). В противном случае может быть вызван неожиданный результат или исключение. другие данные, отличные от расчетных, приводят к реализации некоторых пользовательских функций, например, , изменению формулы ячейки, стиля и т. д., пользователь должен собрать эти данные в этой реализации и изменить их вне области расчета формулы.
Примеры
[C#]
public class MyEngine : AbstractCalculationEngine
{
public override void Calculate(CalculationData data)
{
string funcName = data.FunctionName.ToUpper();
if ("MYFUNC".Equals(funcName))
{
// здесь делаем расчет для MYFUNC
int count = data.ParamCount;
object res = null;
for (int i = 0; i < count; i++)
{
object pv = data.GetParamValue(i);
if (pv is ReferredArea)
{
ReferredArea ra = (ReferredArea)pv;
pv = ra.GetValue(0, 0);
}
// обрабатываем параметр здесь
//рес = ...;
}
data.CalculatedValue = res;
}
}
}
Смотрите также
- пространство имен Aspose.Cells
- сборка Aspose.Cells