v13.0.0 sortRange 中引用公式 线上线下有差异(SJS-16147)
本帖最后由 Lynn.Dou 于 2022-12-5 14:32 编辑我在线下excel对区域降序排序时,列名是公式,引用其他sheet的单元格,排序后,公式会跟着单元格顺序一起变化,如图:
执行后:
但是在线上,执行区域降序后,公式没有跟着单元格移动,导致列名没有发生变化。
排序前:
执行代码,排序后:B1应该显示第四列,却显示第一列。
sheet.sortRange(0, 1, 5, 4, false, [{index:1, ascending: false}]);
想要实现跟线下excel一样的效果。
在不考虑将公式中的相对定位换成绝对定位的方式。
您好,
您提供下您测试的excel文件,这边验证看看。 Lynn.Dou 发表于 2022-11-22 18:31
您好,
您提供下您测试的excel文件,这边验证看看。
上传demo与我之前测试结果不同,但是也有问题,如下:B1引用Sheet1!A1。然后点击降序排列,
降序后,引用失效
本帖最后由 Lynn.Dou 于 2023-12-15 14:36 编辑
测试中发现两个问题
1、将您提供demo中的json数据导入至组件版设计器(v15.2.2),再做横向筛选,结果如下图,与您提供demo一致:
如果直接在组件版设计器(v15.2.2)中按照您demo所示写上数据,并作横向筛选,此时结果如下:
对比两个结果,不一致的原因可能与您提供的json数据有关。
2、 对于图2筛选结果,与Excel中的筛选结果做了对比,二者确实存在不一致问题,如下图:
这边会针对上述对比结果做进一步的调研,待有结果在贴中回复您。本贴先做保留处理。
-------------------------------------------------
更新进展:
此问题属于SpreadJS排序功能的设计,对于此问题,建议将公式改为绝对引用,示例:Sheet1!$A$1具体可以参考下方文章介绍:
https://gcdn.grapecity.com.cn/showtopic-162692-1-1.html
页:
[1]