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

QQ登录

只需一步,快速开始

Abb

初级会员

27

主题

77

帖子

236

积分

初级会员

积分
236
Abb
初级会员   /  发表于:2025-5-8 09:22  /   查看:57  /  回复:8
1金币
本帖最后由 Matthew.Xue 于 2025-5-8 10:02 编辑
  1. arr[0].forEach((item, index) => {
  2.                   if (!showFooter) {
  3.                     sheet.moveTo(
  4.                       row - 1,
  5.                       index + columnField.length,
  6.                       row - 1,
  7.                       index,
  8.                       1 + rowCount + (showFooter ? 1 : 0),
  9.                       1,
  10.                       GC.Spread.Sheets.CopyToOptions.value
  11.                     )
  12.                     let result1 = fields.find((res) => res.text === item)
  13.                     if (row > 1) {
  14.                       sheet.removeSpan(row - 2, index)
  15.                       if (result1 && result1['parent']) {
  16.                         sheet.setValue(row - 2, index, result1['parent'])
  17.                       } else {
  18.                         sheet.setValue(row - 2, index, '')  
  19.                       }
  20.                     }
  21.                   }

  22.                   let ite = selectColumnField.findIndex((val) => item === val)
  23.                   if (ite !== -1) {
  24.                     sheet.setColumnVisible(index, true)
  25.                   } else {
  26.                     sheet.setColumnVisible(index, false)
  27.                   }
  28.                 })
复制代码





V16时 执行这段逻辑是正常的

   V17错误 列头和数据没了

moveTo 是不是这个方法的问题 ,V16执行到这里 显示是正常的
image.png698933410.png       
V17
image.png319163512.png
目前只发现这个区别 帮忙看一下 是不是api有什么修改

最佳答案

查看完整内容

咱们现在是要让两个版本一致,既然V16中在deleteColumns之后数据留在了原地,那么在V17中模拟这个数据留在原地的效果也可以实现您的需求,您可以测试一下。

8 个回复

倒序浏览
最佳答案
最佳答案
Matthew.Xue
超级版主   /  发表于:6 天前
来自 7#
Abb 发表于 2025-5-9 16:38
是的 删除这段代码 是不会出现列头和数据都消失的情况了 但是达不到需求了 正常的需求是表格列 根据指标 ...

咱们现在是要让两个版本一致,既然V16中在deleteColumns之后数据留在了原地,那么在V17中模拟这个数据留在原地的效果也可以实现您的需求,您可以测试一下。
  1. let _range = table.range()
  2. sheet.copyTo(_range.row, _range.col, _range.row, _range.col + _range.colCount, _range.rowCount, _range.colCount, GC.Spread.Sheets.CopyToOptions.value)
复制代码
image.png651107177.png
回复 使用道具 举报
Matthew.Xue
超级版主   /  发表于:6 天前
2#
您好,是否方便上传一个可复现的demo?
通过代码目前看不出什么问题,您可以将敏感数据去除后上传。
回复 使用道具 举报
Abb
初级会员   /  发表于:6 天前
3#
本帖最后由 Abb 于 2025-5-12 16:51 编辑
Matthew.Xue 发表于 2025-5-8 14:23
您好,是否方便上传一个可复现的demo?
通过代码目前看不出什么问题,您可以将敏感数据去除后上传。

                       
回复 使用道具 举报
Abb
初级会员   /  发表于:5 天前
4#
Matthew.Xue 发表于 2025-5-8 14:23
您好,是否方便上传一个可复现的demo?
通过代码目前看不出什么问题,您可以将敏感数据去除后上传。

已上传 现在demo中是16.1.4 是正常的 然后可以更换为17.1.10 就不正常了
回复 使用道具 举报
Matthew.Xue
超级版主   /  发表于:5 天前
5#
本帖最后由 Matthew.Xue 于 2025-5-9 15:49 编辑

您好, 久等了,我仔细排查了您的demo,区别在这一行:
image.png124474791.png
image.png938729247.png
在V16中,deleteColumns之后,数据留在了原地,所以您将数据整体move了过来。而在V17中,数据直接跟过来了。
这一点和我本地的测试有所不同,我用自己的demo测试了16.1.4,但是表现和17是相同的,数据不会留在原地,我目前不清楚为何您的demoV16中会出现这种情况。
解决的办法很简单,在V17中,删除以下代码即可:
image.png15136107.png
回复 使用道具 举报
Abb
初级会员   /  发表于:5 天前
6#
Matthew.Xue 发表于 2025-5-9 15:48
您好, 久等了,我仔细排查了您的demo,区别在这一行:

是的 删除这段代码 是不会出现列头和数据都消失的情况了 但是达不到需求了 正常的需求是表格列 根据指标中被勾选的进行渲染 删除这段代码就相当于删掉这个逻辑了 Captures.zip (2.09 MB, 下载次数: 2)
回复 使用道具 举报
Abb
初级会员   /  发表于:5 天前
8#
Matthew.Xue 发表于 2025-5-9 17:28
咱们现在是要让两个版本一致,既然V16中在deleteColumns之后数据留在了原地,那么在V17中模拟这个数据留 ...

可以了 感谢
回复 使用道具 举报
Matthew.Xue
超级版主   /  发表于:前天 09:16
9#

好的,那这边就先结贴了,有问题欢迎发新帖
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部