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

QQ登录

只需一步,快速开始

汇新泓博
初级会员   /  发表于:2022-10-27 17:59  /   查看:2607  /  回复:7
1金币
做大量删除行操作时会卡住,导致loading界面加载不出来无法给用户显示当前状态。应该如何处理

加了.suspendPaint()  还是会卡住界面

最佳答案

查看完整内容

您好,将您的excel进入导入到SpreadJS中,然后执行下面的代码 这边测试用时1秒 这个时间符合您这边的测试结果吗? 这边测试用的demo已上传至附件中,您可以下载下来,并且通过右侧按钮,导入您之前上传的excel文件来测试时间。 如果您有其他相关代码可以复现您的问题,可以在附件的demo中重写并上传,这边进行下一步测试。

7 个回复

最佳答案
最佳答案
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2022-10-27 17:59:06
来自 6#
您好,将您的excel进入导入到SpreadJS中,然后执行下面的代码
  1. console.time();
  2. spread.suspendPaint();
  3. sheet.deleteRows(3, sheet.getRowCount());
  4. sheet.deleteColumns(21, sheet.getColumnCount());
  5. spread.resumePaint();
  6. console.timeEnd();
复制代码

这边测试用时1秒 这个时间符合您这边的测试结果吗?


这边测试用的demo已上传至附件中,您可以下载下来,并且通过右侧按钮,导入您之前上传的excel文件来测试时间。
如果您有其他相关代码可以复现您的问题,可以在附件的demo中重写并上传,这边进行下一步测试。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2022-10-27 18:09:52
2#
本帖最后由 Ellia.Duan 于 2022-10-28 09:47 编辑

您好,您是否可以将当前spreadjs导出为excel上传下,这边实际测试下。
回复 使用道具 举报
汇新泓博
初级会员   /  发表于:2022-10-28 09:13:25
3#
Ellia.Duan 发表于 2022-10-27 18:09
您好,您是一次性删除了多少行数据呢?您是否可以将当前spreadjs导出为excel上传下,这边实际测试下。

删除除表头外行列


            this.spreadTemp.suspendPaint();

            activeSheetTemp.deleteRows(
              this.formData.headRanges.row + this.formData.headRanges.rowCount,
              activeSheetTemp.getRowCount()
            );
            activeSheetTemp.deleteColumns(
              this.formData.headRanges.col + this.formData.headRanges.colCount,
              activeSheetTemp.getColumnCount()
            );
            this.spreadTemp.resumePaint();

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2022-10-28 14:07:31
4#

请提供下您的formData数据。
回复 使用道具 举报
汇新泓博
初级会员   /  发表于:2022-10-28 15:02:01
5#
Ellia.Duan 发表于 2022-10-28 14:07
请提供下您的formData数据。

什么数据   就是这个excel   只保留A1到U3  其余删除。就会卡死
回复 使用道具 举报
汇新泓博
初级会员   /  发表于:2022-10-28 16:42:19
7#
Ellia.Duan 发表于 2022-10-28 16:27
您好,将您的excel进入导入到SpreadJS中,然后执行下面的代码

这边测试用时1秒 这个时间符合您这边的测 ...

同样的方法我这边时间有点长

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2022-10-28 16:47:47
8#
本帖最后由 Ellia.Duan 于 2022-10-28 16:52 编辑
汇新泓博 发表于 2022-10-28 16:42
同样的方法我这边时间有点长

请问您是在我上一楼提供的demo基础上没有进行修改,进行的测试吗?如果是的话,还请您描述下测试流程。

其次,您可以优化下您的代码,使用变量来替换下this.formData ,this.spreadTemp等。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部