找回密码
 立即注册

QQ登录

只需一步,快速开始

Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-8-10 16:00:09
11#
BND 发表于 2023-8-10 15:26
按照这个临时方案,导入前将allowDynamicArray置为true,可以解决spreadjs的xlookup问题(如上图)。
...

收到,这边调研一下看看是否有解决方案,我会尽快回复您。
回复 使用道具 举报
BND
高级会员   /  发表于:2023-8-10 18:10:02
12#
Joestar.Xu 发表于 2023-8-10 13:48
您好,目前来说如果您使用的是ExcelIO将该文件导入的话,可以在导入前将allowDynamicArray置为true来临时修 ...

allowDynamicArray设置成true之后只有当次有用,如果把公式换成其他的,再改成公式会显示#SPILL!
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-8-10 20:25:31
13#
本帖最后由 Joestar.Xu 于 2023-8-10 20:29 编辑

您好,GCExcel中想要正常使用的话目前只能是在打开后重新修改这个Formula,如:

IWorksheet worksheet = workbook.getWorksheets().get("Sheet2");
worksheet.getRange("G2").setFormulaArray("=@XLOOKUP(@C:C&@E:E,结算单新!A:A&结算单新!B:B,结算单新!D,0,0,1)");

image.png586301574.png


除此以外目前没没有其他的临时解决方案,只能等待开发那边完成修复。
回复 使用道具 举报
BND
高级会员   /  发表于:2023-8-10 20:42:17
14#
Joestar.Xu 发表于 2023-8-10 20:25
您好,GCExcel中想要正常使用的话目前只能是在打开后重新修改这个Formula,如:

IWorksheet worksheet = ...

这个临时方案不行的,因为并不清楚有多少个单元格用到xlookup函数,而且函数存在各种嵌套,要在里面加@符号,复杂度很高。
回复 使用道具 举报
BND
高级会员   /  发表于:2023-8-10 21:10:22
15#
Joestar.Xu 发表于 2023-8-10 20:25
您好,GCExcel中想要正常使用的话目前只能是在打开后重新修改这个Formula,如:

IWorksheet worksheet = ...

allowDynamicArray设置成true之后只有当次有用,如果把公式换成其他的,再改成公式会显示#SPILL!
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-8-11 09:16:22
16#
问题已收到,这边调研一下是否还有其他的解决方案,我会尽快回复您。
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-8-11 10:38:01
17#
本帖最后由 Ellia.Duan 于 2023-10-9 10:09 编辑
BND 发表于 2023-8-10 21:10
allowDynamicArray设置成true之后只有当次有用,如果把公式换成其他的,再改成公式会显示#SPILL!

将公式设置为其他的后再改回来显示#SPILL!这个逻辑是与Excel一致的。

想要解决这个问题,要么将原来的公式(=XLOOKUP(C:C&E:E,结算单新!A:A&结算单新!B:B,结算单新!D:D,0,0,1))修改为:=XLOOKUP(C2&E2,结算单新!A:A&结算单新!B:B,结算单新!D:D,0,0,1)。

要么就修改为:=XLOOKUP(@C:C&@E:E,结算单新!A:A&结算单新!B:B,结算单新!D:D,0,0,1)。

第二种情况下无法兼容WPS。

关于GCExcel的临时解决方案目前没有找到其他的可以代替的方案了,等后续完成修复并发布后我会再在本帖中留言告知。

image.png815915832.png
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-10-8 09:20:05
18#
您好,该问题已在6.2.2版本中修复,您可以升级后验证一下。
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 立即注册
返回顶部