找回密码
 立即注册

QQ登录

只需一步,快速开始

表格6666

金牌服务用户

82

主题

207

帖子

595

积分

金牌服务用户

积分
595
表格6666
金牌服务用户   /  发表于:2024-1-10 16:58  /   查看:1717  /  回复:8
本帖最后由 Richard.Ma 于 2024-3-4 18:03 编辑

产品:GcExcel.net
版本:V6.2.5
问题编号:DOCXLS-9623
LastReview:2024/2/20
该问题已经在7.0.3修复

无任何数据内容,仅仅是Copy方法上面是代码。附件包含json内容
企业微信截图_1704874731626.png470890197.png 第7列开始,时间指数级增长





Program.cs

296.19 KB, 下载次数: 134

评分

参与人数 1金币 +200 收起 理由
Ellia.Duan + 200

查看全部评分

8 个回复

倒序浏览
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-1-10 17:31:21
沙发
请将上述的json文件上传上来。我们验证一下
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-1-10 18:04:44
板凳
如果你没有特殊的需求的话,实际上可以一次性复制整个区域
参考下面的代码,

  1.             var sourceRange = workbook.Worksheets[0].Range[1, 0, 1, workbook.Worksheets[0].ColumnCount];
  2.             var targetRange = targetWorkbook.Worksheets[0].Range[1, 0, 4736, workbook.Worksheets[0].ColumnCount];
  3.             CopeStyle(sourceRange, targetRange);
复制代码
回复 使用道具 举报
表格6666
金牌服务用户   /  发表于:2024-1-10 18:06:26
地板
Richard.Ma 发表于 2024-1-10 18:04
如果你没有特殊的需求的话,实际上可以一次性复制整个区域
参考下面的代码,

这个代码例子只是示例,需要将source复制到target,source是模板,target是需要承载数据的具体sheet。区域大小是不一致的
回复 使用道具 举报
表格6666
金牌服务用户   /  发表于:2024-1-10 18:49:54
5#
Richard.Ma 发表于 2024-1-10 18:04
如果你没有特殊的需求的话,实际上可以一次性复制整个区域
参考下面的代码,

整体区域复制不太符合我们的场景,我们除了复制到列,同样也有复制到行的,并且每列、每行是存在内容区别的
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-1-11 14:21:51
6#
代码中的性能 问题,目前已经报研发调研,后续进展我会在帖子中更新
DOCXLS-9623
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-1-12 18:51:44
7#
性能问题是由复制时对条件格式的处理引起的。

可以参考下面的修改后的代码解决目前场景的问题

Program (1).cs (297.83 KB, 下载次数: 140)
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-1-16 11:23:12
8#
本帖最后由 Ellia.Duan 于 2024-2-22 14:56 编辑

另外,更新一下,这个性能问题在产品后续的版本中也计划进行优化。
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-2-22 15:04:41
9#
此问题已经在V7.0.3版本中修复,请更新版本后测试

image.png689718627.png
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部