找回密码
 立即注册

QQ登录

只需一步,快速开始

wuba_lzy

金牌服务用户

20

主题

78

帖子

288

积分

金牌服务用户

积分
288
wuba_lzy
金牌服务用户   /  发表于:2023-1-31 19:12  /   查看:3498  /  回复:13
50金币

image.png969908447.png

描述:如上面例子使用suspendCalcService /resumeCalcService,发现部分结果不正确。
版本:v15.2.5 、v16
附件:红色选中区域以及其公式运算关联的部分单元格运算不正确,

测试1:如果resumeCalcService运行两次,结果是正确的但是耗时翻倍。

测试2:V15.0.2 的结果是正确的,但是此版本有已知的其他bug影响使用。




image.png36073302.png
不同版本运算结果如下(只列举红色选中区域)
image.png282123107.png

demo.zip

2.32 MB, 下载次数: 402

最佳答案

查看完整内容

用V16.0.2,这个问题已经解决了。

13 个回复

倒序浏览
最佳答案
最佳答案
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-1-31 19:12:16
来自 10#
用V16.0.2,这个问题已经解决了。
回复 使用道具 举报
wuba_lzy
金牌服务用户   /  发表于:2023-1-31 19:14:46
2#
本帖最后由 wuba_lzy 于 2023-1-31 20:07 编辑

v15.2.5
为了临时解决这个问题,使用了几种方式进行测试。

1,255BD~300BD 没有计算数据显示
spread.resumeCalcService(true);


2,255BD~300BD 有数据,但是部分计算不正确
spread.fromJSON( spread.toJSON(),{ doNotRecalculateAfterLoad: true } );
spread.resumeCalcService(true);



3,255BD~300BD 计算正确,但是耗时相对有增加。
spread.fromJSON( spread.toJSON(),{ doNotRecalculateAfterLoad: false } );
spread.resumeCalcService(true);


4,255BD~300BD 计算正确,但是计算时间翻倍。
spread.resumeCalcService(true);
spread.resumeCalcService(true);



以上是真实数据测试的情况,不能提供,附件是脱密处理的,测试数据无法复现1。
目前公式计算耗时过大,是我们使用中遇到比较严重的问题,甚至有的配置一般的电脑浏览器直接崩溃,
附件中是完整的加载过程,请顺便帮我看看是否有优化空间,或者更优方案。
非常感谢


回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-2-1 18:19:47
3#
问题已经收到,我们需要调研一下原因,明天给您结果
回复 使用道具 举报
wuba_lzy
金牌服务用户   /  发表于:2023-2-1 18:59:34
4#
Richard.Ma 发表于 2023-2-1 18:19
问题已经收到,我们需要调研一下原因,明天给您结果

感谢
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-2-2 09:57:45
5#
不客气,这边验证您发的demo遇到了点问题,依赖一直无法正常install,您看能否重新发一个demo过来,和上次你咨询类似问题时,发的静态html文件一样

回复 使用道具 举报
wuba_lzy
金牌服务用户   /  发表于:2023-2-2 10:12:00
6#
重新上传了附件

demo.zip

2.36 MB, 下载次数: 366

回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-2-2 18:53:54
7#
抱歉,尽力尝试了一下,还是没有办法跑起来,应该和你这个的某个devDependencies有关,我看你之前提过这个问题。明天早上我来电话联系你沟通一下
回复 使用道具 举报
wuba_lzy
金牌服务用户   /  发表于:2023-2-6 16:09:22
8#
Richard.Ma 发表于 2023-2-2 18:53
抱歉,尽力尝试了一下,还是没有办法跑起来,应该和你这个的某个devDependencies有关,我看你之前提过这个 ...

您好,怎么样了能复现问题吗
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-2-6 19:31:00
9#

  1.       spread.suspendCalcService(true);   
  2.       spread.fromJSON( rtssjson );
复制代码


您先调整一下代码顺序,不要使用doNotRecalculateAfterLoad,目前看因为没有计算导入的公式导致了N279这个单元格计算有问题。 具体细节以及是否是bug还需要再调查。
改了顺序我测试后对性能影响不大
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部