找回密码
 立即注册

QQ登录

只需一步,快速开始

hano7758

注册会员

11

主题

22

帖子

87

积分

注册会员

积分
87
hano7758
注册会员   /  发表于:2020-11-24 10:37  /   查看:7472  /  回复:20
1金币
目前项目中从数据库读取了一个表格,用代码的形式绘制到sheet上
  1. console.log(new Date()+'getBalanceSheetDateByProcedure end')
  2.       console.log(new Date()+'initHistoryBalanceSheet setArray start')
  3.       console.log(tableSource)
  4.       sheet.setArray(0, 0, tableSource)
  5.       console.log(new Date()+'initHistoryBalanceSheet setArray end')
复制代码
发现setArray数组的时候需要花费7-8秒左右的时间
image.png563430785.png
有什么方法能提高这个速度?

20 个回复

正序浏览
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-7-30 10:20:42
21#
hano7758 发表于 2021-7-30 10:13
最后用的数据绑定的方法,比直接setValue速度快个几秒,就是代码写起来复杂一点

感谢您的分享
回复 使用道具 举报
hano7758
注册会员   /  发表于:2021-7-30 10:13:41
20#

最后用的数据绑定的方法,比直接setValue速度快个几秒,就是代码写起来复杂一点

评分

参与人数 1金币 +666 收起 理由
Derrick.Jiao + 666 很给力!

查看全部评分

回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-7-30 09:52:30
19#

请您开一个新帖并将您的完整可运行的demo上传,这边给您调试一下。
回复 使用道具 举报
前端小菜鸟
初级会员   /  发表于:2021-7-30 09:46:42
18#
Derrick.Jiao 发表于 2021-7-29 17:09
请问您绘制前挂起绘制了吗?建议您考虑用suspendPaint / resumePaint函数来加速渲染性能。
https://demo ...
  1. debugger
  2.                 sheet.suspendCalcService();
  3.                 sheet.setArray(1, this.common.FormCharGetNumberByFgb('K'), ycxlList);
  4.                 sheet.resumeCalcService();

  5.                 sheet.resumePaint();
复制代码



我都用了 没有改善
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-7-29 17:09:45
17#
前端小菜鸟 发表于 2021-7-29 16:47
楼主你怎么解决的?我也遇到了同样的问题,只写入一列,大概四五百行就要用好几秒。求告知

请问您绘制前挂起绘制了吗?建议您考虑用suspendPaint / resumePaint函数来加速渲染性能。
https://demo.grapecity.com.cn/sp ... ook/painting/purejs

若仍未解决您的问题,建议您开一个新帖将您的demo发一下,这边为您看下是否有优化的方案。
回复 使用道具 举报
前端小菜鸟
初级会员   /  发表于:2021-7-29 16:47:37
16#

楼主你怎么解决的?我也遇到了同样的问题,只写入一列,大概四五百行就要用好几秒。求告知
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-6-7 18:08:19
15#
沉不住的心 发表于 2021-6-7 18:01
刚发了个新帖 请您看一下 不好意思 是个问题青年

没事的,这边已经有同事在为您处理了。
回复 使用道具 举报
沉不住的心
中级会员   /  发表于:2021-6-7 18:01:00
14#
Derrick.Jiao 发表于 2021-6-7 17:58
不用客气,解决了就好,有新问题建议您开新帖交流~

刚发了个新帖 请您看一下 不好意思 是个问题青年
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-6-7 17:58:45
13#

不用客气,解决了就好,有新问题建议您开新帖交流~
回复 使用道具 举报
沉不住的心
中级会员   /  发表于:2021-6-7 17:53:43
12#
Derrick.Jiao 发表于 2021-6-7 17:35
在涉及大量的绘制和计算的时候可以将绘制(suspendPaint)和计算挂起(suspendCalcService),绘制与计算 ...

已经解决了 谢谢
回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部