请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

桌地要

注册会员

4

主题

12

帖子

40

积分

注册会员

积分
40
最新发帖
桌地要
注册会员   /  发表于:2025-11-19 10:33  /   查看:117  /  回复:5
使用同一个json,前端用spreadjs不会报错,后端用gcexcl会报错非法参数

报错:
2025-11-18 14:43:44.000 ERROR [erThread-9205-4] [] - c.b.e.w.c.C.[.[.[/].[dispatcherServlet]       178: Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.RuntimeException: Invalid JSON format for Excel conversion: 非法参数: Text] with root cause
java.lang.IllegalStateException: 非法参数: Text
        at com.grapecity.documents.excel.internals.ad.j.e(Unknown Source)
        at com.grapecity.documents.excel.internals.ad.p.d(Unknown Source)
        at com.grapecity.documents.excel.internals.aO.ac.a(Unknown Source)
        at com.grapecity.documents.excel.internals.aO.ac.a(Unknown Source)
        at com.grapecity.documents.excel.internals.aO.ac.a(Unknown Source)
        at com.grapecity.documents.excel.internals.aO.ac.b(Unknown Source)
        at com.grapecity.documents.excel.internals.aO.ac.a(Unknown Source)
        at com.grapecity.documents.excel.internals.aO.ac.a(Unknown Source)
        at com.grapecity.documents.excel.internals.aO.ac.a(Unknown Source)
        at com.grapecity.documents.excel.internals.aO.ab.a(Unknown Source)
        at com.grapecity.documents.excel.internals.aO.ab.a(Unknown Source)
        at com.grapecity.documents.excel.internals.aO.ab.a(Unknown Source)
        at com.grapecity.documents.excel.Workbook.fromJson(Unknown Source)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

5 个回复

Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2025-11-19 11:17:45
沙发
您好,
我将您提供的json字符串通过 JSON.parse(JSON.stringify(your code)) 做了处理,并整理为了一个json文件(如附件)。
此时GcExcel 8.1.5导入文件不会出现报错问题。

猜测应是您提供的json字符串存在问题,您是通过SpreadJS 的toJSON方法导出的吗?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
桌地要
注册会员   /  发表于:2025-11-19 13:24:36
板凳
这个字符串是前端保存到后端数据库,然后后端取出来调接口就报错了,一直无法定位到具体是哪里的问题,它又是一个json字符串,具体是哪里的问题,麻烦排查一下
回复 使用道具 举报
桌地要
注册会员   /  发表于:2025-11-19 14:24:26
地板
Lynn.Dou 发表于 2025-11-19 11:17
您好,
我将您提供的json字符串通过 JSON.parse(JSON.stringify(your code)) 做了处理,并整理为了一个jso ...

java1.8 ,  发现如果是用String接收数据库得到的字符串,则能正常调用接口,如果是用JSON.parseObject(this.sheetText).toJSONString() 经过这样处理的字符串调接口则会报错非法参数,比对过这2个字符串,除了字段的顺序,其他的没发现啥问题,麻烦看看是否有影响,例子请看附件

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2025-11-19 17:40:38
5#
本帖最后由 Lynn.Dou 于 2025-11-27 17:05 编辑

初步看也未判断出具体原因,需要进一步调研下,有结果再同步您。(DOCXLS-13401)
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2025-12-2 14:05:20
6#
更新进展:
经调研原因是文件中的单元格row order不正确,如下图:

猜测与您 JSON.parseObject(this.sheetText).toJSONString()  二次处理有关系,建议您直接使用数据库存储的原始json信息,或者经工具二次处理后确保row order不会被影响。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

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