找回密码
 立即注册

QQ登录

只需一步,快速开始

白鱼
初级会员   /  发表于:2023-8-17 15:19  /   查看:1455  /  回复:12
本帖最后由 白鱼 于 2023-8-29 14:35 编辑

麻烦帮我确认一下这个问题,附件文件已经写好代码,但是最新版本16.1.4没有复现,我想知道是不是我们当前使用15.2.2版本的问题

spread 15.2.2 版本 导入时doNotRecalculateAfterLoad = false再关闭按需计算,后续代码层面再设置计算不会生效,即公式设置进去了,但是恢复计算之后value=null

showcase_income-statement_JavaScript.zip

32.26 KB, 下载次数: 65

12 个回复

倒序浏览
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-8-17 17:39:42
沙发
您好,我打开您的Demo后运行了一下,没发现有什么异常,不知道您遇到了什么问题,能否请您就您遇到的问题再详细说明一下。
SpreadJS 17.0.8 | GcExcel 7.1.1 已发布~
回复 使用道具 举报
白鱼
初级会员   /  发表于:2023-8-17 17:44:25
板凳
Joestar.Xu 发表于 2023-8-17 17:39
您好,我打开您的Demo后运行了一下,没发现有什么异常,不知道您遇到了什么问题,能否请您就您遇到的问题再 ...

15.2.2版本也没有问题吗,看一下spread.sheets[0].getFormula(5, 4)和spread.sheets[0].getValue(5, 4)。我是用第一个sheet页的row 5 col 4来测试的
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-8-18 09:49:45
地板
您好,跟您确认一下,您是想说这个问题吗?

image.png574428100.png

如果是的话,这个问题猜测应该是旧版本的一个Bug。
SpreadJS 17.0.8 | GcExcel 7.1.1 已发布~
回复 使用道具 举报
白鱼
初级会员   /  发表于:2023-8-18 10:35:54
5#
本帖最后由 白鱼 于 2023-8-18 10:37 编辑
Joestar.Xu 发表于 2023-8-18 09:49
您好,跟您确认一下,您是想说这个问题吗?

我这边尝试是导入时设置doNotRecalculateAfterLoad = false 并关闭按需计算,再次设置setFormula(5, 4, '=10000')和setValue(5,4,null)再恢复计算spread.resumeCalcService(true)。最终getFormula(5, 4) = '=10000',而getValue(5,4) = null。


其实就是我给你的代码,跑完之后再检查一下getFormula(5, 4) = '=10000',而getValue(5,4) = null 是不是这个结果。spread.resumeCalcService(true)恢复计算但实际上有formula而没有计算出value
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-8-18 11:33:30
6#
也就是说您那边导入后的结果:getFormula(5, 4)为'=10000',getValue(5,4)为null,对吧?

因为您这边提供的Demo的版本是16.1.4的,所以没有复现出你说的这个问题。

然后我们这边做了一个15.2.2的Demo,在导入您Demo中提供的json后虽然出现了报错,但是还是导入进来了,并且正如我前文所述,其结果getFormula(5, 4)为null,getValue(5,4)为100000,与您说的“getFormula(5, 4)为'=10000',getValue(5,4)为null”也不一致。

综上所述,我这边未能复现出您的问题,请您那边提供一个可以复现这个问题的Demo后我们再调查一下。
SpreadJS 17.0.8 | GcExcel 7.1.1 已发布~
回复 使用道具 举报
白鱼
初级会员   /  发表于:2023-8-29 14:38:20
7#
Joestar.Xu 发表于 2023-8-18 11:33
也就是说您那边导入后的结果:getFormula(5, 4)为'=10000',getValue(5,4)为null,对吧?

因为您这边提 ...

你好,我这边更新了一下附件中的json数据,修改成了我这边15.2.2版本的json数据作为导入和导出,麻烦再帮我验证一下在15.2.2版本下这个问题是不是成立的。
回复 使用道具 举报
白鱼
初级会员   /  发表于:2023-8-29 14:45:05
8#
Joestar.Xu 发表于 2023-8-18 11:33
也就是说您那边导入后的结果:getFormula(5, 4)为'=10000',getValue(5,4)为null,对吧?

因为您这边提 ...

我还想问一下,因为我这边设置doNotRecalculateAfterLoad = false 是为了显示图片,但是现在我这边设置之后同时关闭按需计算会出现无法计算的问题,也就是本贴中出现的问题。所以想问一下有没有其它的方案可以绕过一下这个设置,设置doNotRecalculateAfterLoad = true和关闭按需计算的情况下同时给我把图片显示出来?是否可以把图片blob取出来重新设置进去?
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-8-29 17:32:17
9#
我这边直接运行后的结果如下:

image.png331369323.png

关于图片的问题,我没太看懂,您提供的Demo里面没有任何图片,即使我设置了doNotRecalculateAfterLoad = true并关闭按需计算,也没有图片显示,能否请您提供一个可以复现您问题的Demo呢?
SpreadJS 17.0.8 | GcExcel 7.1.1 已发布~
回复 使用道具 举报
白鱼
初级会员   /  发表于:2023-8-30 14:20:53
10#
Joestar.Xu 发表于 2023-8-29 17:32
我这边直接运行后的结果如下:

我这个demo里面有一张图片,存放在shapes里面,你搜文本blipBlob应该能够匹配到的。你这个结果现在看起来好像又没有问题,那上次运行时公式没设置进去有问题吗?
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部