找回密码
 立即注册

QQ登录

只需一步,快速开始

AsIAm

注册会员

14

主题

43

帖子

131

积分

注册会员

积分
131
AsIAm
注册会员   /  发表于:2023-9-22 17:56  /   查看:1768  /  回复:1
7金币
本帖最后由 Ellia.Duan 于 2023-10-19 10:56 编辑

情景:
      需要复制多行的数据和格式 会导致部分电脑页面崩溃 数据量最大大概为 168次*60行*10列 + 40行*168次*10行
//动态插入行,复制样式
          var row_addFrom = (itemList.length - 1) * 17;
          var rowlist = row_addFrom + 5;
          sheetFrom.addRows(rowlist, row_addFrom);

          // 时间打点
          for (let row_f = 1; row_f <= itemList.length; row_f++) {
            let info = (row_f - 1) * 17 + 5;
            let activeSheets = sheetFrom;
            let fromRanges = [new GC.Spread.Sheets.Range(5, -1, 17, -1)];
            let toRanges = [new GC.Spread.Sheets.Range(info, -1, 17 - 1)];
            this.spread.commandManager().execute({
              cmd: "clipboardPaste",
              sheetName: "XXX",
              fromSheet: activeSheets,
              fromRanges: fromRanges,
              pastedRanges: toRanges,
              isCutting: false,
              clipboardText: "",
              pasteOption: GC.Spread.Sheets.ClipboardPasteOptions.all,
            });
          }

这一块有优化的方案吗?

最佳答案

查看完整内容

您好,尝试在执行前执行spread.suspendPaint(),然后在执行完毕后执行spread.resumePaint()看是否有性能上提升。

1 个回复

倒序浏览
最佳答案
最佳答案
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-9-22 17:56:16
来自 2#
您好,尝试在执行前执行spread.suspendPaint(),然后在执行完毕后执行spread.resumePaint()看是否有性能上提升。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部