接收数组参数的Excel自定义函数导致加载失败
Excel自定义函数加载失败排查与修复
我正在开发一款Excel自定义函数,用于接收单元格区域(数组)输入并返回单个值,function.ts中的示例代码如下:
/* global clearInterval, console, CustomFunctions, setInterval */ // OTHER FUNCTIONS /** * Percent bias * @customfunction * @param Observed Observed Data * @param Simulated Simulated Data * @returns Percent bias */ function PBias(Observed: number[], Simulated: number[]): number { let sum_obs = Observed.reduce((partialSum, a) => partialSum + a, 0); let sum_sim = Simulated.reduce((partialSum, a) => partialSum + a, 0); return (100 * (sum_sim - sum_obs)) / sum_obs; } }
问题现象
- 代码构建过程无报错,但启动调试时该自定义函数无法加载
- 移除
PBias函数后,其他函数可正常加载并运行 - 函数逻辑已验证可行
- 测试环境:Node.js 18.18.0、Office Add-ins Yeoman生成器4.3.1(采用带共享运行时的Excel自定义函数模板)
修复方案
代码末尾存在多余的闭合大括号},这会导致语法解析错误。虽然构建工具可能未检测出该问题,但Excel加载自定义函数时会因语法错误而失败。移除这个多余的}后,函数即可正常加载。
内容的提问来源于stack exchange,提问作者M--
相关产品推荐
相关产品推荐

