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

QQ登录

只需一步,快速开始

开发人员1

注册会员

1

主题

2

帖子

9

积分

注册会员

积分
9
  • 34

    金币

  • 1

    主题

  • 2

    帖子

最新发帖
开发人员1
注册会员   /  发表于:2025-4-28 16:08  /   查看:111  /  回复:5
本帖最后由 开发人员1 于 2025-4-28 16:24 编辑

首先页面根据json加载excel模板,然后导入数据,默认json模板只要32行,数据超过则使用copyto循环插入;
通过copyto插入的行,合并单元格丢失了。但数据量少不会有这种情况,怎么解决


sheet.copyTo(31, -1, r, -1, 1, -1, GC.Spread.Sheets.CopyToOptions.span)

image.png131997679.png

5 个回复

倒序浏览
Wilson.Zhang
超级版主   /  发表于:2025-4-28 17:54:03
沙发
您好!如下图所示,仅复制合并单元格并未复现异常问题:
c2ee1d47f2bd3383672c1e16fd3de7e.png24411314.png

您是通过数据绑定的方式填充数据吗?可以提供一个能够复现问题的demo和相关操作步骤,我据此测试分析下。
回复 使用道具 举报
Matthew.Xue
超级版主   /  发表于:2025-5-6 12:16:07
板凳
您好,请问您遇到的问题是否解决了呢,没有解决的话咱们可以继续讨论
回复 使用道具 举报
开发人员1
注册会员   /  发表于:2025-5-7 18:35:22
地板
本帖最后由 Matthew.Xue 于 2025-5-8 09:05 编辑
Matthew.Xue 发表于 2025-5-6 12:16
您好,请问您遇到的问题是否解决了呢,没有解决的话咱们可以继续讨论

没有解决, 我是通过数据绑定的形式填充的数据,具体代码如下 :
  1. workbook.getActiveSheet().setDataSource(dataSource)
  2. formatCurrentSheet(workbook.getActiveSheet())

  3.   const formatCurrentSheet = (sheet: GC.Spread.Sheets.Worksheet) => {
  4.     let i = 0

  5.     for (let r = 0; r < sheet.getRowCount(); r++) {
  6.       if (sheet.getRowVisible(r)) {
  7.         i++
  8.         if (i % 2 == 0) sheet.getRange(r, -1, 1, -1).backColor('#e6f4ff')
  9.         else sheet.getRange(r, -1, 1, -1).backColor('white')
  10.         
  11.         if (r >= 2) sheet.copyTo(1, -1, r, -1, 1, -1, GC.Spread.Sheets.CopyToOptions.span)
  12.       
  13.         sheet.getRange(r, -1, 1, -1).hAlign(GC.Spread.Sheets.HorizontalAlign.left)
  14.       }
  15.     }
  16.   }
复制代码

回复 使用道具 举报
Matthew.Xue
超级版主   /  发表于:2025-5-8 10:14:47
5#
开发人员1 发表于 2025-5-7 18:35
没有解决, 我是通过数据绑定的形式填充的数据,具体代码如下 :

根据Wilson贴出的截图,即使超过500行,copyTo方法仍然是有效的。
建议上传一个完整的、可复现的demo,我帮您测试一下。
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:5 天前
6#
您好,由于本帖较长时间没有回复,本帖先做结贴处理了,后续如您有其他问题,欢迎您开新帖提问。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部