David.Wang 发表于 2024-10-21 12:09:36

自定义函数相关问题

本帖最后由 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())
页: [1]
查看完整版本: 自定义函数相关问题