【17.1.5】自定义名称刚开始不会计算值
本帖最后由 Wilson.Zhang 于 2024-11-28 10:53 编辑产品:SpreadJS
版本:17.1.5
调研编号:SJS-27318
Last Review:2024-11-28
当前进展:修复中。
在v16版本没有问题,升级到V17突然出现这个问题(v17.1.1不行,换到17.1.5还是一样),我这边是通过自定义名称显示数据的,模板内容本身有的不会计算,但实际是有数据的,我在一个新的单元格填写这个公式是能正常显示的,并且我在刚开始不能出来的单元格,将公式先随便修改一下,再改回来一样是可以闲事的。我的代码并没有修改,v16也没有问题,升到v17就这样了,很急(报表里面有多种模式,我发现另外一种模式还是正常的,我对比了代码,又没发现问题,包括从后端取数都是用的同一套代码)
有人回复吗
您好!需要您提供一个能够复现问题的demo,我们据此调研下。 本帖最后由 清水 于 2024-11-12 10:38 编辑
Wilson.Zhang 发表于 2024-11-12 10:01
您好!需要您提供一个能够复现问题的demo,我们据此调研下。
这是js,只留下了相关代码,我这边已经将模板内容写死,麻烦帮忙看一下,已经更新到正式环境了
我刚刚将没有问题的模板json放到这个代码里是正常的。应该是模板的问题,但不知道是什么造成的。我这边模板包括代码都没有修改过,升级后就这样了 清水 发表于 2024-11-12 10:57
我刚刚将没有问题的模板json放到这个代码里是正常的。应该是模板的问题,但不知道是什么造成的。我这边模板 ...
参考您的描述,我在17.1.9和16.2.0版本测试,现象一致,如下图所示:
我又在纯净的无模板情况下使用17.1.9版本和16.2.0版本测试,通过单元格名称可以引用其中的数据,如下图所示:
猜测应该model_file中的模板数据影响了数据的正常显示,通过Worksheet:getValue()获取单元格中的数据也可以正常获取,为0,如下图所示。如果单元格未被填充数据,Worksheet:getValue()的结果为null。
而您也说到使用另外的模板在您提供的代码中可以正常显示,建议您先重新制作模板后使用,我这侧也继续帮您分析下model_file中可能的影响因素,之后会及时向您同步结论。
Wilson.Zhang 发表于 2024-11-12 14:16
参考您的描述,我在17.1.9和16.2.0版本测试,现象一致,如下图所示:
我之前的版本是16.2.2。我这边模板太多了,只能通过代码改掉这个问题才行,麻烦帮我查一下是什么问题。
并且我刚刚在另外的功能里面还遇到了同一张模板有的能正常,有的又不显示,B列和C列都是通过自定义名称显示公示数据,但C列能出来,B列不行。
清水 发表于 2024-11-12 14:27
我之前的版本是16.2.2。我这边模板太多了,只能通过代码改掉这个问题才行,麻烦帮我查一下是什么问题。
...
我在16.22.版本测试,运行您提供的代码后,sheet中不显示通过单元格名称引用的数据,如下图所示:
进一步排查,发现通过单元格名称引用的数据均为0,如下图所示:
原因在于当前sheet未允许“显示零值单元格”,如下图所示:
勾选“显示零值单元格”后,即可显示通过单元格名称引用的数据,如下动图所示:
在17版本如是对sheet设置“显示零值单元格”后即可见数据。
Wilson.Zhang 发表于 2024-11-12 15:43
我在16.22.版本测试,运行您提供的代码后,sheet中不显示通过单元格名称引用的数据,如下图所示:
怎么可能是零值的问题呢,0本身就不要求显示,问题是并不是0值,我提供的代码,获取了20个自定义名称然后设置了随机值,我的问题就是有值没显示。。。。。。
清水 发表于 2024-11-12 16:08
怎么可能是零值的问题呢,0本身就不要求显示,问题是并不是0值,我提供的代码,获取了20个自定义名称然 ...
数据这一块肯定没问题,问题就是有数据但没显示,像这个“报表_湘煤生1表_上年同期_P8”这个名称在名称管理器也显示正常,值就是“3017324”。而“累计完成”下面的列也是取得“报表_湘煤生1表_上年同期_P8”却没有显示,我在下面的单元格里也填上这个名称却能显示,并且把“累计完成”下面列的公式名称先随便修改一下,再改回“报表_湘煤生1表_上年同期_P8”这个单元格又能正常显示了
页:
[1]
2