找回密码
 立即注册

QQ登录

只需一步,快速开始

爱豆小糖宝
金牌服务用户   /  发表于:2024-12-9 18:06  /   查看:148  /  回复:6
1金币
项目的spreadJS从16版本升级到17版本,一些数组公式在16版本打开是正常的,在17版本不生效,需要使用ctrl+shift+enter才能生效
附件中的json文件是在16版本保存的,1.png对应的D13的值是正常的,在17版本中打开这个json文件,2.png对应的D13的值是无效的
2.png
1.png

2024120917495359047301787.json

312.29 KB, 下载次数: 18

最佳答案

查看完整内容

如下图所示,您试一下设置“允许动态数组”选项为true后,再设置您的数组公式,可以通过enter键计算得到结果。

6 个回复

倒序浏览
最佳答案
最佳答案
Wilson.Zhang
超级版主   /  发表于:2024-12-9 18:06:34
来自 5#
爱豆小糖宝 发表于 2024-12-10 10:36
说的更直白一点,就是我附件中的json文件在16版本导入,公式对应的单元格结果正常显示出来了,17版本导出 ...

如下图所示,您试一下设置“允许动态数组”选项为true后,再设置您的数组公式,可以通过enter键计算得到结果。
1733804474997.png318861388.png
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-12-10 09:46:46
2#
您好!咱们SpreadJS官网教程中有介绍数组公式通过ctrl+shift+enter完成,如下图所示:

1733795140034.png180790709.png

您可以参考官网教程了解详情:
https://demo.grapecity.com.cn/spreadjs/SpreadJSTutorial/features/calculation/array-formulas/basic-array-formula/purejs
回复 使用道具 举报
爱豆小糖宝
金牌服务用户   /  发表于:2024-12-10 10:35:07
3#
本帖最后由 爱豆小糖宝 于 2024-12-10 10:37 编辑
Wilson.Zhang 发表于 2024-12-10 09:46
您好!咱们SpreadJS官网教程中有介绍数组公式通过ctrl+shift+enter完成,如下图所示:

我知道使用这种方式可以,问题是我们之前在16版本不需要使用这个快捷键,页面初始化公式的结果是正常的哦,而且公式是不带花括号{},结果就是正常的,你可以看下我的截图,显示的公式字符串是一样的,现在17版本,初始化的结果是N/A了
回复 使用道具 举报
爱豆小糖宝
金牌服务用户   /  发表于:2024-12-10 10:36:33
4#
Wilson.Zhang 发表于 2024-12-10 09:46
您好!咱们SpreadJS官网教程中有介绍数组公式通过ctrl+shift+enter完成,如下图所示:

说的更直白一点,就是我附件中的json文件在16版本导入,公式对应的单元格结果正常显示出来了,17版本导出公式对应的单元格结果是N/A,这是为什么呢
回复 使用道具 举报
爱豆小糖宝
金牌服务用户   /  发表于:2024-12-11 14:53:43
6#
Wilson.Zhang 发表于 2024-12-10 12:21
如下图所示,您试一下设置“允许动态数组”选项为true后,再设置您的数组公式,可以通过enter键计算得到 ...

好的,谢谢
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-12-11 15:19:15
7#

不客气。


您可以在导入后即设置“允许动态数组”选项为true,且设置后重新计算即可令D13单元格显示公式结果。效果如下动图所示:
数组公式重新计算.gif

可以参考如下代码:
  1. designer.bind(GC.Spread.Sheets.Designer.Events.FileLoaded, function(e, args) {
  2.     console.log('file loaded, args: ', args);
  3.     spread = designer.getWorkbook();
  4.     spread.options.allowDynamicArray = true;
  5.     for (let i = 0; i < spread.sheets.length; i++) {
  6.         spread.sheets[i].recalcAll(true);
  7.     }
  8. });
复制代码


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