找回密码
 立即注册

QQ登录

只需一步,快速开始

wuba_lzy
金牌服务用户   /  发表于:2022-7-4 20:42  /   查看:3709  /  回复:10
5金币
本帖最后由 wuba_lzy 于 2022-7-4 20:42 编辑

寻求最优流程

功能描述:
       报表excel,包含多个sheet标签页,其中多个sheet是模板页(点击查询请求数据,setArray到模板sheet上),然后重新计算。      
流程描述:  
1、spread.fromJSON
2、spread.suspendPaint();//暂停绘制
3、spread.suspendCalcService(false);
4、替换模板页面数据
      sheet.clear
      sheet.deleteRows
      sheet.addRows
      sheet.setArray
5、sheet.copyTo // 还没升级最新版本,所以目前是循环copyTo模板sheet样式等
6、spread.resumeCalcService(true);
7、spread.resumePaint();


上述流程中运算复杂的报表 “ resumeCalcService恢复计算时消耗很多时间” ,请问上述流程哪里能还能优化下呢,求助更优解~

最佳答案

查看完整内容

您将性能优化文章中的方案都测试过的话,这边暂时也想不到更好的方案了。 如上个回复所说,您可以提供下相关json文件,这边从文件入手调研下看是否还有其他优化空间。 未经实际测试,仅从描述和截图这边也无法判断问题原因和相应方案了。

10 个回复

倒序浏览
最佳答案
最佳答案
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-7-4 20:42:55
来自 9#
您将性能优化文章中的方案都测试过的话,这边暂时也想不到更好的方案了。
如上个回复所说,您可以提供下相关json文件,这边从文件入手调研下看是否还有其他优化空间。
未经实际测试,仅从描述和截图这边也无法判断问题原因和相应方案了。
回复 使用道具 举报
极品毛肚
注册会员   /  发表于:2022-7-5 09:35:11
2#
试一试换个位置
this.spread.suspendCalcService()
this.spread.suspendPaint()
this.spread.suspendEvent()
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-7-5 11:19:22
3#
楼主可参考1楼回复测试下问题是否解决,
如果仍未,请提供一个可复现您问题的demo,这边在代码基础上实际测试调研下原因。
回复 使用道具 举报
wuba_lzy
金牌服务用户   /  发表于:2022-7-5 11:43:34
4#
Lynn.Dou 发表于 2022-7-5 11:19
楼主可参考1楼回复测试下问题是否解决,
如果仍未,请提供一个可复现您问题的demo,这边在代码基础上实际 ...

换了顺序,加个挂起事件,时间上也没有什么变化
回复 使用道具 举报
wuba_lzy
金牌服务用户   /  发表于:2022-7-5 11:44:44
5#
公式和数据量都很大,没办法提供demo 呢
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-7-5 14:31:48
6#
对于敏感性数据或需与后端交互数据,您可以使用假数据来模拟复现此问题。
从目前提供信息来看,这边不能判断出问题原因,是否有可优化空间需要根据具体的demo实际测试才能进一步调研。
下方为性能优化汇总文章,您也可以看下是否对此问题有所帮助:
https://gcdn.grapecity.com.cn/fo ... 0&fromuid=59119
回复 使用道具 举报
wuba_lzy
金牌服务用户   /  发表于:2022-7-6 12:11:46
7#
Lynn.Dou 发表于 2022-7-5 14:31
对于敏感性数据或需与后端交互数据,您可以使用假数据来模拟复现此问题。
从目前提供信息来看,这边不能判 ...

版本15.0.2
优化文章看了,适用的都加了
数据和公式少的加载时间都还行
这个时间长:
数据sheet页有3个,其中一个是2w条,
公式sheet页很多有40+,公式内容大概 如下
=FILTER(辅助账科目余额表!D,(辅助账科目余额表!A:A=C2)*(LEFT(辅助账科目余额表!G:G,4)=RIGHT(A2,4)),"")

加载时间
MacBook Pro (13-inch, M1, 2020) 16 GB   Apple M1 : 29 s
Windows  超过 70s

这个加载计算时间是正常得吗
回复 使用道具 举报
wuba_lzy
金牌服务用户   /  发表于:2022-7-6 12:13:49
8#
image.png804404907.png
image.png815946044.png
回复 使用道具 举报
wuba_lzy
金牌服务用户   /  发表于:2022-7-13 15:16:07
10#
Lynn.Dou 发表于 2022-7-6 14:34
您将性能优化文章中的方案都测试过的话,这边暂时也想不到更好的方案了。
如上个回复所说,您可以提供下相 ...

有没有sheet按需计算的api呢,点击哪个sheet才计算哪个sheet如果有依赖也会计算
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部