找回密码
 立即注册

QQ登录

只需一步,快速开始

wuba_lzy
金牌服务用户   /  发表于:2022-11-17 14:09:38
10#
本帖最后由 wuba_lzy 于 2022-11-17 14:12 编辑
Lynn.Dou 发表于 2022-11-17 13:47
电话沟通中了解到,您在导出json前挂起公式是为了避免修改单元格使公式重算问题。

在重新导入json后, ...

recalcAll 是 sheet.recalcAll(),我这边非常多的sheet,只能循环执行吗?
而且sheet之间有公式有关联每个sheet 执行 sheet.recalcAll()会导致重复计算吧。
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-11-17 14:57:22
11#
wuba_lzy 发表于 2022-11-17 14:09
recalcAll 是 sheet.recalcAll(),我这边非常多的sheet,只能循环执行吗?
而且sheet之间有公式有关联每 ...

您可以遍历sheet实际测试下,如前面所述,如果有疑问您可以结合具体的demo详细说明,这边再做进一步的验证。
回复 使用道具 举报
wuba_lzy
金牌服务用户   /  发表于:2022-11-17 21:21:45
12#
本帖最后由 Ellia.Duan 于 2022-11-18 09:55 编辑
Lynn.Dou 发表于 2022-11-17 14:57
您可以遍历sheet实际测试下,如前面所述,如果有疑问您可以结合具体的demo详细说明,这边再做进一步的验 ...

定位到原因了:
setArray中公式用到了VLOOKUP,
其他sheet里面用到此列都没有计算出来。

详细描述:
1,setArray 的公式
let xx = [ ['=IFERROR(VLOOKUP(E2,账套_主体类别映射!A:C,3,FALSE),"未配置")'],........ ]
sheet.setArray(1, 3, xx, true);

2,用到VLOOKUP的sheet: 入账汇总_源!$D:$D

3,未计算出结果的单元各公式:
=SUM(SUMIFS(入账汇总_源!$H:$H,入账汇总_源!$A:$A,B$4,入账汇总_源!$C:$C,$A50,入账汇总_源!$D:$D,"房产",入账汇总_源!$C:$C,{"SEM","公关类","广点通","浏览器","媒介","品牌","非房产","网址导航","信息流","应用商店","影视植入","预装","短视频","直播"}))



image.png746517944.png

回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-11-18 11:03:43
13#
wuba_lzy 发表于 2022-11-17 21:21
定位到原因了:
setArray中公式用到了VLOOKUP,
其他sheet里面用到此列都没有计算出来。

根据描述使用setArray设置vlookup公式,测试公式是可以正常计算的,如附件demo所示。
您在demo基础上调整下代码,需要可复现此问题,这边再验证下。

demo (2).html

3.68 KB, 下载次数: 193

回复 使用道具 举报
wuba_lzy
金牌服务用户   /  发表于:2022-11-18 14:07:52
14#
Lynn.Dou 发表于 2022-11-18 11:03
根据描述使用setArray设置vlookup公式,测试公式是可以正常计算的,如附件demo所示。
您在demo基础上调 ...

我下周整理个demo吧,这两天比较忙
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-11-18 14:57:55
15#
wuba_lzy 发表于 2022-11-18 14:07
我下周整理个demo吧,这两天比较忙

好的,期待您的demo
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-11-21 10:27:12
16#
您demo整理好了吗?如果整理完毕了可以上传至贴中,这边来验证调研下。
回复 使用道具 举报
wuba_lzy
金牌服务用户   /  发表于:2022-11-27 12:48:22
17#
本帖最后由 wuba_lzy 于 2022-11-27 15:00 编辑

这两个demo结果不一样,都是一样的流程

spread.fromJSON( ssjson, { doNotRecalculateAfterLoad: true } );
            spread.suspendCalcService(false);   
            spread.resumeCalcService(true);

2demo(初始化不计算-挂起-计算)计算了.html

93.8 KB, 下载次数: 163

1demo(初始化不计算-挂起-计算)未计算.html

83.69 KB, 下载次数: 170

回复 使用道具 举报
wuba_lzy
金牌服务用户   /  发表于:2022-11-27 15:25:44
18#
wuba_lzy 发表于 2022-11-27 12:48
这两个demo结果不一样,都是一样的流程

spread.fromJSON( ssjson, { doNotRecalculateAfterLoad: true  ...

15.0.2  版本都可以计算出来

1demo(初始化不计算-挂起-计算)未计算(15.0.2版本是好的).html

83.69 KB, 下载次数: 184

回复 使用道具 举报
wuba_lzy
金牌服务用户   /  发表于:2022-11-27 18:22:50
19#
Lynn.Dou 发表于 2022-11-21 10:27
您demo整理好了吗?如果整理完毕了可以上传至贴中,这边来验证调研下。

发我下最新版本资源文件吧,我先升级下,看看问题是不是在最新版本已经决定
我看你发的demo是15.2.5,这个我看到最新是15.2.2
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 立即注册
返回顶部