赛龙周 发表于 2024-6-25 14:50:13

用对象工具构建的二维数组,type类型检查不正确?

接上个帖子:【新提醒】excel的数组公式可以构建吗 - 活字格专区 - 求助中心 - 葡萄城开发者社区 (grapecity.com.cn)


在检查数据类型时,发现用对象与集合操作插件构建的二维数组,用type()检查返回#value!(图3),但构建的一维数组用type()检查返回64(图2);

excel数组公式构建的二维数组,用type()检查返回64(图1)

@宁伟宁老师帮看下呢



Grayson.Shang 发表于 2024-6-25 14:50:14

大佬您好,我这边测试了一下,这个问题是这样子的,活字格中TYPE这个Excel公式,确实可以判断出来数组类型,不过有一个前提,就是这个类型在代码中是Array。

而宁专家这个数组操作插件,生成的数组并不是一个Array类型,而是一个ArrayList类型,所以使用TPYE公式直接计算数组返回的是#VALUE。

咱们可以试试在调用公式之前,将ArrayList转成Array,这样在使用呢就没有问题了


这个是测试结果

赛龙周 发表于 2024-6-25 19:10:49

Grayson.Shang 发表于 2024-6-25 17:12
大佬您好,我这边测试了一下,这个问题是这样子的,活字格中TYPE这个Excel公式,确实可以判断出来数组类型 ...

大佬厉害!!
有没有一种可能ToArray只是把最外层在数组转换了类型,而内层在数组并没有转换类型。
因为我对转换后的数组取数时,得到的是null

赛龙周 发表于 2024-6-25 19:38:50

我怀疑数组公式构建的数组与插件构建的数组类型可能不一样。
因为分别用循环两个数组,得到的结果不一致
数组的长度也不一致
:Q:Q:Q:Q

Nathan.guo 发表于 2024-6-26 12:19:15

赛龙周 发表于 2024-6-25 19:38
我怀疑数组公式构建的数组与插件构建的数组类型可能不一样。
因为分别用循环两个数组,得到的结果不一致
...

就像Grayson说的,一个是array,另一个是ArrayList

不过还是建议大佬使用这种公式时,在页面中引用表格或者单元格:lol
页: [1]
查看完整版本: 用对象工具构建的二维数组,type类型检查不正确?