找回密码
 立即注册

QQ登录

只需一步,快速开始

薪税

最新发帖
薪税
金牌服务用户   /  发表于:2024-9-19 09:07:09
21#
image.png926100463.png

看到其他帖子和您的回复,是因为,vue用proxy把对象包了,导致性能变慢;而在vue2中使用 findController 方法获取原生的SpreadJS对象,
因为我们将 SpreadJS作为一个组件 components 引入到其他的页面中使用,此时,是否使用上述方法就失效了呢 ?
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-9-19 10:07:59
22#
薪税 发表于 2024-9-19 09:07
看到其他帖子和您的回复,是因为,vue用proxy把对象包了,导致性能变慢;而在vue2中使用 findControlle ...

您好!您对于导致删除性能较差的原因的理解与我们一样,是正确的。并非上述方法失效了,我们在18楼向您提供的解决方案正是在vue2中使用上述方法优化的,性能有所提升,但很有限。根据您提供的场景信息,我们测试的数据量是40000条,且您提供的源代码中存在公式设置,规模为40000*8个单元格。当删除一行时,被删除行下面的单元格需要逐一调整公式,在这样的情况下,目前性能提升的程度是合理的。

如果您的实际业务需要使用到列公式,可以参考如下代码取代setFormula设置公式,可以在一定程度上再提升性能:
  1. window.cache = window.cache || {};
  2. if(!window.cache[formula]){
  3.     console.log(formula, col);
  4.     window.cache[formula] = formula;
  5.     sheet.getRange(1,col,sheet.getRowCount()-1,1).formula(formula,true);
  6. }
复制代码

就当前了解的业务场景,目前已向您提供了优化方案。经过我们在vue2和vue3框架中使用您提供的demo测试后,发现在vue3中的优化方案的效果更好,所以建议您在满足开发条件的情况下可以使用vue3框架。由于我们并不了解您的业务,也不是vue3框架的研发团队,并不能确保vue3框架是否完全满足您的开发需要,需要您自行斟酌。
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-9-24 15:31:45
23#
您好!由于您较长时间未回贴,且从跟帖回复中了解到问题已得到有效解决方案,那就结帖了。如有问题,欢迎发新帖沟通。
回复 使用道具 举报
123
您需要登录后才可以回帖 登录 | 立即注册
返回顶部