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

QQ登录

只需一步,快速开始

Richard.Ma 讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-7-7 09:15  /   查看:94  /  回复:1
1金币
本帖最后由 Richard.Ma 于 2021-7-7 11:07 编辑

给大量给Tag赋值,20W单元格,花费了35S,性能较差

image.png62569579.png
  1. var watch = new Stopwatch();
  2.             watch.Start();

  3.             var workbook = new GrapeCity.Documents.Excel.Workbook();
  4.             var currentSheet = workbook.Worksheets[0];
  5.             
  6.             for (var i = 0; i < 15000; i++)
  7.             {
  8.                 for (var j = 0; j < 13; j++)
  9.                 {
  10.                     var curCell = currentSheet.Range[i + 1, j];
  11.                     curCell.Value = currentSheet.Rows[j];
  12.                     //curCell.Tag = "222222222222222222222222";
  13.                     curCell.Tag = [        DISCUZ_CODE_0        ]quot;{currentSheet.Name}|{i + 1}|{j}";

  14.                 }
  15.             }

  16.             watch.Stop();
  17.             Console.WriteLine([        DISCUZ_CODE_0        ]quot;执行耗时:{watch.ElapsedMilliseconds}");
复制代码


原帖https://gcdn.grapecity.com.cn/fo ... p;extra=&page=2

1 个回复

倒序浏览
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-7-7 11:15:52
沙发
问题可以重现。在循环设置时确实需要较多的时间,且随着行数的增多,时间的增长会越来越快。此性能问题这边已经提交给研发:DOCXLS-4428。

看看是否有优化方案,或者在后续的版本中来优化,

有任何的消息,我会在这个回复。帖子暂时保留处理
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册