【GcExcel】 GcExcel fromJSON报错【DOCXLS-7365】
本帖最后由 Ellia.Duan 于 2023-1-12 14:38 编辑【Spreadjs:15,gcexcel:5.2.0】 前端通过spreadjs生成json。java后端GCExcel用json生成Excel时报错:java.lang.IllegalStateException: JsonParser#getString() is valid only KEY_NAME, VALUE_STRING, VALUE_NUMBER parser states. But current parser state is START_OBJECT(后端报错如下) 。看错误提示像是Json中只能有字符型和数字型,但是出现了对象型。json有问题
前端代码:
var spread1 = GC.Spread.Sheets.findControl(document.getElementById('ss'));
var jsonString = JSON.stringify(spread1.toJSON(serializationOption));
后端代码:
通过数据绑定,能够将后端的数据给前端展示,也能将前端页面填写的数据保存到后端。此时就不仅仅要求绑定路径是一个字符串了。而更适合是一个对象。但是目前绑定路径只支持字符串,所以在后端根据json生成Excel时会报错。
我们现在的做法是:模板中绑定路径不传值,新增一个接口,将绑定路径和模板进行解耦。前端调接口单独用来保存绑定路径。此方案目前曲线救国的方式,实现后端解析json,成功将填写数据落地到数据库表中。 麻烦老师帮忙看看,是因为spreadJs和GCExcel版本问题吗? 本帖最后由 Ellia.Duan 于 2023-1-5 09:40 编辑
已复现您的问题,这边将深入调研下原因,待有进展及时通知您。 您好,经过调研,造成报错的原因是:json中的绑定路径无效导致,绑定路径只能是“字符串”。所以研发团队这边将在V6.0.3版本修复此问题,同时丢弃无效数据。
Ellia.Duan 发表于 2023-1-5 14:37
您好,经过调研,造成报错的原因是:json中的绑定路径无效导致,绑定路径只能是“字符串”。所以研发团队这 ...
我现在大概想到两个方案:一是前端不传,二是要后端等V6.0.3版本
方案一的话,那请问老师:现在前端spreadjs有没有忽略传递绑定路径的属性? 现在想前端传给后端的json不带绑定路径。现在有个includeBindingSource=false。但是不行。 四月五号 发表于 2023-1-5 16:34
我现在大概想到两个方案:一是前端不传,二是要后端等V6.0.3版本
方案一的话,那请问老师:现在前端spre ...
您好,这边做了一个模板进行数据绑定,如下图所示
创建字段person 对象,然后添加属性name,age,sex ,然后拖拽到单元格中。最后导出的ssjson文件中bindingPath是字符串。您这边是如何设计的呢?bindingPath是一个对象
感谢您提供的解决方案及问题反馈,这边为您赠送了金币,请您查收。待GcExcel修复此问题后,这边将及时通知您。 Ellia.Duan 发表于 2023-1-13 09:13
感谢您提供的解决方案及问题反馈,这边为您赠送了金币,请您查收。待GcExcel修复此问题后,这边将及时通知 ...
您好,GcExcel已在v6.0.3版本中修复了此问题,您可以下载测试一下。
页:
[1]