本帖最后由 David.Wang 于 2024-10-21 12:26 编辑
场景:导入包含自定义函数的Excel文件后,虽然注册了自定义函数,但是发现单元格中的函数始终显示#NAME,无法计算
方案:执行以下代码
- spread.calculate(GC.Spread.Sheets.CalculationType.rebuild)
复制代码
自定义函数常用写法:
- // 定义方法一
- class MYFUNC extends GC.Spread.CalcEngine.Functions.Function {
- constructor() {
- super('MYFUNC')
- }
- evaluate(){
- return 'xxx';
- }
- }
复制代码- // 定义方法二
- function MYFUNC(params) {
- this.name='MYFUNC'
- };
- MYFUNC.prototype = new GC.Spread.CalcEngine.Functions.Function();
- MYFUNC.prototype.evaluate = function () {
- return 'xxx'
- };
复制代码- // 注册(以下均可,只是范围的差异)
- GC.Spread.CalcEngine.Functions.defineGlobalCustomFunction('MYFUNC', new MYFUNC())
- spread.addCustomFunction(new MYFUNC())
- sheet.addCustomFunction(new MYFUNC())
复制代码
|
|