找回密码
 立即注册

QQ登录

只需一步,快速开始

Sarah无敌

注册会员

7

主题

10

帖子

59

积分

注册会员

积分
59
Sarah无敌
注册会员   /  发表于:2023-3-31 09:12  /   查看:1345  /  回复:3
本帖最后由 Sarah无敌 于 2023-3-31 23:29 编辑

启动案列的前后端代码,通过把excel转成文件流的形式传给前端渲染;
问题描述:
      修改 “产品成本试算生产型”sheet的调整比例(第5行开始),第一次输入数据正常,第二次输入数据卡死,浏览器崩掉。
问题原因:如果在valueChanged里不调用this.copyValue()则不会出现浏览器崩掉的情况,但是这部分不能少(由于业务需求,需要监听“调整看板-SMPC”这张sheet对应的公式单元格的值的变化,从而填充对应的值到另一张看板上)!

8c0c41b1-eac7-4936-b2f1-268127c339a2.jpg
请问有什么办法能解决在这列频繁输入数据,浏览器不崩吗?
340e02ad-1705-4864-9391-f34b42d1e5b4.jpg
fbd3c499-c714-4f27-8836-ef5a56bd3080.jpg


5c9c08e5-2188-4309-9d10-003ea90d2fd4.png734010009.png

fileUploadZip.zip

1.01 MB, 下载次数: 144

GCExcelAndSpreadJS_BigWorkbook.zip

100.74 KB, 下载次数: 130

3 个回复

倒序浏览
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-3-31 13:37:19
沙发
目前,通过在在线表格编辑器中,添加了添加了你前端代码中valueChanged事件中触发的copyValue方法来测试

在直接导入xlsx文件,然后修改你说的单元格值时确实会崩溃,原因还是公式计算量太大

但是如果加载文件时使用calcOnDemand,或者加载后设置workbook的options.calcOnDemand=true

实际验证不会造成崩溃,且速度也会变快

你可以先尝试设置看看,如果和你那边的实际场景不同,欢迎继续回帖沟通
回复 使用道具 举报
Sarah无敌
注册会员   /  发表于:2023-3-31 15:18:25
板凳
设置calcOnDemand=true后确实不卡了,但是在线编辑器中修改调整比例后公式引用值线上线下计算不一致。

线上未勾选calcOnDemand

线上未勾选calcOnDemand

线下

线下

线上勾选calcOnDemand

线上勾选calcOnDemand
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-3-31 22:39:16
地板
本帖最后由 Richard.Ma 于 2023-4-4 10:39 编辑

好的,从你截图的结果来看,spreadjs不管是否使用CalcOnDemand,计算结果都会与office Excel存在差异,

这个问题我看到你发了另一个帖子,已经在另一个帖子中给你回复并将该问题作为bug报给了研发。可以继续在新帖中沟通
https://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=163947
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部