找回密码
 立即注册

QQ登录

只需一步,快速开始

Universail
金牌服务用户   /  发表于:2024-7-5 11:33  /   查看:836  /  回复:3
本帖最后由 Joestar.Xu 于 2024-7-5 16:18 编辑

调研编号:SJS-25259


目前项目上遇到的问题:
1、如果不用defineGlobalCustomFunction,会导致sjs反序列化以后,自定义公式没法识别;
2、如果使用了defineGlobalCustomFunction会污染全局,导致所有的自定义公式在不同的spread实例中都可见;


PS:仅仅使用 addCustomFunction   ,sjs反序列化以后,自定义公式是没法识别的。相关代码如下图

image.png425209044.png
image.png718873595.png

3 个回复

倒序浏览
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-7-5 13:42:55
沙发
您好,您描述的情况我了解了,这边调研一下,后续有进展我会在本贴中回复您。
回复 使用道具 举报
Universail
金牌服务用户   /  发表于:2024-7-8 15:37:31
板凳
本帖最后由 Joestar.Xu 于 2024-7-8 15:41 编辑

许工提供了解决方案:

image.png484183654.png

完美解决问题。

即:
不用defineGlobalCustomFunction,在addCustomFunction后面加上spread.calculate(GC.Spread.Sheets.CalculationType.rebuild);

重点是GC.Spread.Sheets.CalculationType.rebuild参数
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-7-8 15:49:15
地板
好的,那就先结贴了,后续有其他问题的话随时开新帖提问哈。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部