找回密码
 立即注册

QQ登录

只需一步,快速开始

jyjc 讲师达人认证
高级会员   /  发表于:2022-10-13 15:47  /   查看:1613  /  回复:3
附件中的Json,通过GcExcel构建一个Workbook后(并计算),发现某些单元格的值为#REF!,如下所示。


"3": {
                "formula": "SUM(E3:AS3)",
                "value": {
                        "_error": "#REF!",
                        "_code": 23
                },
                "style": "__builtInStyle-7-增值税清算"
        },


但是:
①. 把json放到前端用spreadjs展示能够计算出结果;
②. 将json通过GcExcel实例化后保存为Excel文件后,打开Excel文件,值也是能够正常计算出来的。

我们有些场景是纯后端计算并将计算结果写到数据库。  但是如果后端计算不出来,就是数据类的bug,麻烦帮忙排查一下,谢谢!

json.zip

36.22 KB, 下载次数: 227

Json

3 个回复

倒序浏览
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-10-13 17:23:19
沙发
我把你上传的json导入到gcexcel中没有做任何操作直接再导出了一个ssjosn,就没有#REF!了,
所以判断可能是你那边版本较早的问题,目前我用的是5.2的版本

你可以升级测试一下看看

image.png455753783.png

回复 使用道具 举报
jyjc讲师达人认证
高级会员   /  发表于:2022-10-14 16:10:01
板凳
Richard.Ma 发表于 2022-10-13 17:23
我把你上传的json导入到gcexcel中没有做任何操作直接再导出了一个ssjosn,就没有#REF!了,
所以判断可能是 ...

我把你上传的json导入到gcexcel中没有做任何操作直接再导出了一个ssjosn,就没有#REF!了!
不太了解这个是什么操作...
我执行如下代码(C#):
            var json = 附件中的json;
            var workbook = new GrapeCity.Documents.Excel.Workbook();
            workbook.FromJson(json);

            workbook.Calculate();
            var result = workbook.ToJson();
得到的result的某些单元格value是#REF! 。

不知道最新版按照这个代码执行会不会有类似的问题。

如果是4.1.1.0要修复这个问题,会不会有GcExcel的workbook有什么设置? 比如循环次数什么的?  麻烦帮忙指导一下。
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-10-14 18:06:33
地板
和你这边的代码是一样的,只是没有加Calculate(),因为本身就会做计算,我刚刚加了以后导出的结果也是一样的。没有错误,所以新版本这个问题是修复了

是老版本问题,这个目前没有什么设置的方式可以解决问题,
我看你这个SUM计算涉及的单元格还有一些前置的计算,你可以往前看看具体是哪个单元格出错了,然后考虑规避问题


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