请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

曹金俊
金牌服务用户   /  发表于:2018-12-3 17:38  /   查看:3218  /  回复:2
我在在线表格编辑器中需要使用setArray方法  但是发现很慢运行这个方法卡了20S左右  关键我这根本就没什么数据。  不知道是不是因为我这表格里面本来就有很多数据的原因。还是用法有问题 。希望能得到支持。

2 个回复

倒序浏览
曹金俊
金牌服务用户   /  发表于:2018-12-3 18:11:24
沙发
这是我的原始数据

2018年花冠跟踪表(2)(1).xlsx

2.12 MB, 下载次数: 126

回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-12-4 10:31:15
板凳
曹金俊 发表于 2018-12-3 18:11
这是我的原始数据

您好,我这边分析了一下您的数据,发现了影响效率的问题。

表格中含有很多公式,每次执行setArray时都会导致所有公式的重算。

SpreadJS有两个方法,suspendCalcService和resumeCalcService,

分别是挂起运算与恢复运算。我贴一段示例代码,来说明一下具体用法:

  1. sheet.suspendCalcService(false);
  2. sheet.suspendPaint();
  3. sheet.setArray(3, 2, array);
  4. sheet.resumePaint();
  5. // 这里的参数一定是false
  6. sheet.resumeCalcService(false);
复制代码


关于这两个方法的详细用法,请参考API:

http://help.grapecity.com/spread ... endCalcService.html

http://help.grapecity.com/spread ... umeCalcService.html
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部