Работа с пользовательским вычислительным движком для GridJs
Contents
[
Hide
]
Реализация пользовательского расчетного движка
Aspose.Cells.GridJs имеет мощный вычислительный движок, который может вычислять практически все формулы Microsoft Excel. Несмотря на это, он также позволяет расширить основной вычислительный движок, что обеспечивает большую мощность и гибкость.
Следующие свойства и классы используются при реализации этой функции.
Приведенный ниже код реализует пользовательский расчетный движок. Он реализует интерфейс GridAbstractCalculationEngine, у которого есть метод Calculate(GridCalculationData data). Этот метод вызывается для всех ваших формул. Внутри этого метода мы захватываем формулу MYTESTFUNC и умножаем ее на 2 для значения ее первого параметра.
Пример программирования
class MyCalculation : GridAbstractCalculationEngine
{
public override void calculate(GridCalculationData data)
{
if (!"MYTESTFUNC".Equals(data.FunctionName.ToUpper()))
{
return;
}
data.CalculatedValue = (decimal)(2.0 * (double)data.GetParamValue(0));
}
}
// in the startup.cs when you do initialization ,set the CalculateEngine
MyCalculation ce = new MyCalculation();
GridJsWorkbook.CalculateEngine = ce;