找回密码
 立即注册

QQ登录

只需一步,快速开始

zhangyoof

金牌服务用户

8

主题

22

帖子

72

积分

金牌服务用户

积分
72

微信认证勋章

zhangyoof
金牌服务用户   /  发表于:2020-6-2 18:07  /   查看:3373  /  回复:6
我在设计器里面自定义的公式,在设计器里面弄好 导出SSJSON文件 ,再导回到设计器,公式的值什么的都没有问题,然后脱离了设计器导入到spread里面公式就失效了,原来设置了公式的单元格就显示#NAME?,这是什么情况

6 个回复

倒序浏览
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-6-2 19:19:56
沙发
导入之前也要将自定义的公式注册到spread对象或者全局公式。公式的逻辑是没办法序列号json的
回复 使用道具 举报
zhangyoof
金牌服务用户   /  发表于:2020-6-3 16:14:11
板凳
那我在设计器里面定义好公式,在对应的spread也定义好同样的公式,我们有个需求是这样的,就是自定义公式中用到了单元格(0,0)的tag属性 这个属性是在spread里面加载完成后塞进去的,但是自定义公式是在workbookInitialized里面定义的  如果有若干个这样的公式调用  我怎么样让在setTag后让自定义公式调用一次把所有用到对应公式的地方把值计算出来?
回复 使用道具 举报
zhangyoof
金牌服务用户   /  发表于:2020-6-3 16:14:13
地板
那我在设计器里面定义好公式,在对应的spread也定义好同样的公式,我们有个需求是这样的,就是自定义公式中用到了单元格(0,0)的tag属性 这个属性是在spread里面加载完成后塞进去的,但是自定义公式是在workbookInitialized里面定义的  如果有若干个这样的公式调用  我怎么样让在setTag后让自定义公式调用一次把所有用到对应公式的地方把值计算出来?
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-6-3 16:41:52
5#
可以调用sheet.recalcAll(true),让公式全部重新计算一遍
回复 使用道具 举报
zhangyoof
金牌服务用户   /  发表于:2020-6-3 17:17:38
6#
image.png483881530.png 我在初始化spread时候定义的方法,在红色框的位置打印sheet.getTag(0,0),控制台一直报下面的错,应该怎么处理 image.png847427368.png
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-6-4 13:47:33
7#
这个问题跟您聊过了,建议用下图红框的isContextSensitive设置,该设置为true后可以在evaluate中获得函数的上下文context,通过context可以获得sheet对象
image.png898153991.png
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部