求助: 集算器插件参数问题
大佬们,下午好!
我在集算器 Excel 插件写 spl 时碰到一个问题,传入的参数会导致代码卡住。如下所示,是一个解数独的代码,我们关注代码一开始的序列 A,是一个硬编码的序列,这个序列实际上就是 Excel 中左侧的 B2:J10 区域,此时 spl 语句能正常执行,大概 6 秒左右的时间就能出结果。
当把序列 A 变成参数引入 B2:J10 的区域再执行语句时,卡住了,长时间出不了结果,如下:
如果把序列 A 变成 file(txt).import@w() 的形式读入,代码能正常执行。只有当引入 excel 的区域时会有问题。上述代码对应图中的方法 1,改代码是论坛中的解数独的代码。
方法 2 用了其它写法,倒没发现上述现象。
方法 3 跟方法 1 类似,存在上述卡住的现象。
方法 4 也用了其它写法,但出现的情况很怪异,序列 A 硬编码时结果正确,但变成 excel 的区域引入时,结果是错的。
上述方法对应的语句都在黄色单元格里。
恳请大佬们得闲时帮忙看看,我找了 3 天也不知道是什么原因,代码应该没问题,老早之前这些代码都是正常的。不知道是不是 excel 的原因,我用的是 OFFICE365。
附件如下↓,可放心下载:
由于 xll 的 number 类型在 java 端缺省处理成了 double 类型,已经修改对于小数后为 0 的参数,转换成 int 或 double 类型
谢谢大佬🙏
惊到了,一个数据类型对代码运行的影响会那么大。