找回密码
 立即注册

QQ登录

只需一步,快速开始

LMJYH

注册会员

8

主题

20

帖子

106

积分

注册会员

积分
106
LMJYH
注册会员   /  发表于:2022-11-22 16:56  /   查看:2684  /  回复:3
本帖最后由 Lynn.Dou 于 2022-12-5 14:32 编辑

我在线下excel对区域降序排序时,列名是公式,引用其他sheet的单元格,排序后,公式会跟着单元格顺序一起变化,如图:
image.png161817320.png
执行后:
image.png923230285.png
但是在线上,执行区域降序后,公式没有跟着单元格移动,导致列名没有发生变化。
排序前:

image.png812894592.png

执行代码,排序后:B1应该显示第四列,却显示第一列。

sheet.sortRange(0, 1, 5, 4, false, [{index:1, ascending: false}]);

image.png418229979.png

想要实现跟线下excel一样的效果。

在不考虑将公式中的相对定位换成绝对定位的方式。




3 个回复

倒序浏览
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-11-22 18:31:47
沙发
您好,
您提供下您测试的excel文件,这边验证看看。
回复 使用道具 举报
LMJYH
注册会员   /  发表于:2022-11-24 17:04:40
板凳
Lynn.Dou 发表于 2022-11-22 18:31
您好,
您提供下您测试的excel文件,这边验证看看。


上传demo与我之前测试结果不同,但是也有问题,如下:B1引用Sheet1!A1。然后点击降序排列,
image.png858938293.png

降序后,引用失效
image.png536300048.png

sortDemo.zip

3.96 MB, 下载次数: 131

回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-11-24 18:39:56
地板
本帖最后由 Lynn.Dou 于 2023-12-15 14:36 编辑

测试中发现两个问题
1、将您提供demo中的json数据导入至组件版设计器(v15.2.2),再做横向筛选,结果如下图,与您提供demo一致:
image.png617541198.png
如果直接在组件版设计器(v15.2.2)中按照您demo所示写上数据,并作横向筛选,此时结果如下:
image.png888637084.png
对比两个结果,不一致的原因可能与您提供的json数据有关。

2、 对于图2筛选结果,与Excel中的筛选结果做了对比,二者确实存在不一致问题,如下图:
image.png332789305.png
这边会针对上述对比结果做进一步的调研,待有结果在贴中回复您。本贴先做保留处理。

-------------------------------------------------

更新进展:
此问题属于SpreadJS排序功能的设计,对于此问题,建议将公式改为绝对引用,示例:Sheet1!$A$1具体可以参考下方文章介绍:
https://gcdn.grapecity.com.cn/showtopic-162692-1-1.html


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