找回密码
 立即注册

QQ登录

只需一步,快速开始

wutao@digiwin
金牌服务用户   /  发表于:2024-6-13 15:52  /   查看:164  /  回复:7
1金币
在合并单元格的前面新增一列序号,但是因为单元格合并是autoMerge的方法 所以不能使用sheet.getSpans来获得合并的单元格范围

image.png826097411.png
请问有什么办法可以拿到autoMerge合并的单元格的范围

7 个回复

倒序浏览
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-6-13 17:45:47
沙发
您好,请问您这边具体是有什么样的需求需要获取到autoMerge合并的单元格的范围呢?是要取消autoMerge吗?
回复 使用道具 举报
wutao@digiwin
金牌服务用户   /  发表于:2024-6-14 09:19:12
板凳
Joestar.Xu 发表于 2024-6-13 17:45
您好,请问您这边具体是有什么样的需求需要获取到autoMerge合并的单元格的范围呢?是要取消autoMerge吗?

不是的 是我之前使用了sheet.autoMerge(viewportRange, GC.Spread.Sheets.AutoMerge.AutoMergeDirection.column, GC.Spread.Sheets
              .AutoMerge.AutoMergeMode.restricted, GC.Spread.Sheets.SheetArea.viewport);
对表格进行了自动合并 相同内容的会合并单元格,因为你们提供的序号 sheet.setColumnCount(1, GC.Spread.Sheets.SheetArea.rowHeader)不支持根据一行的数据有合并单元格也合并序号,但是我在做虚拟的合并序号,所以我原本想要用sheet.getSpans()获得全部合并单元格的范围,但是无法获取到,是空数组,想说有什么方法api可以获取到AutoMerge的合并单元格有哪些范围
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-6-14 11:52:39
地板
您好,明白您的意思了,目前来说自动合并和普通的合并是两个不同的特性,所以自动合并区域内的合并单元格并不能通过getSpan来获取。

建议您可以遍历第二列的值,判断当前单元格和下一个单元格的值是否一致,如果一致,则继续扩展,如果不一致,则将当前已知一致的区域获取并设置到第一列的指定位置。
回复 使用道具 举报
wutao@digiwin
金牌服务用户   /  发表于:2024-6-14 13:17:40
5#
Joestar.Xu 发表于 2024-6-14 11:52
您好,明白您的意思了,目前来说自动合并和普通的合并是两个不同的特性,所以自动合并区域内的合并单元格并 ...

好吧 我目前是这样写的 只是觉得这种方式影响性能 还有发现用autoMerge的方式渲染后滑动表格时会有卡顿感 这个有办法可以解决吗
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-6-14 17:47:05
6#
您好,一般来说使用AutoMerge是不会有性能问题,我这边也未能复现出来,能否请您提供一个可以复现此问题的JSON,这边本地测试看看。
回复 使用道具 举报
wutao@digiwin
金牌服务用户   /  发表于:2024-6-17 09:13:55
7#
Joestar.Xu 发表于 2024-6-14 17:47
您好,一般来说使用AutoMerge是不会有性能问题,我这边也未能复现出来,能否请您提供一个可以复现此问题的J ...

这个问题我这边再找找原因,可能会是我的写法问题,现在有个新问题,我做好了合并的序号列
image.png394996642.png
可是导出时不会有合并的序号列
image.png97857665.png
这个有什么办法可以导出时也有显示吗
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-6-17 11:40:55
8#
您好,在导出的时候如果想要保留自动合并的效果的话,需要您在导出时开启这个选项:

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