找回密码
 立即注册

QQ登录

只需一步,快速开始

Andy.C

注册会员

14

主题

52

帖子

160

积分

注册会员

积分
160

[已处理] sheet.fromJson报错

Andy.C
注册会员   /  发表于:2023-6-16 20:14  /   查看:1069  /  回复:7
使用gcExcel.net 4.6.2版本,worksheet.toJson()可以正常输出。

但拿ToJson后的内容再worksheet.fromJson()则报错。
异常信息:

segment
2023-06-16 19:44:49.1670 |    at GrapeCity.Documents.Excel.it.a(ij A_0, Boolean A_1)
   at GrapeCity.Documents.Excel.mo.a(bw A_0, pz A_1, Boolean A_2)
   at GrapeCity.Documents.Excel.m0.a(agi A_0, pz A_1, Dictionary`2 A_2, List`1 A_3, Dictionary`2 A_4, List`1 A_5, List`1 A_6, List`1 A_7, List`1 A_8, List`1 A_9, iv A_10, Int32& A_11, l6 A_12, IList`1 A_13)
   at GrapeCity.Documents.Excel.mv.a(af8 A_0, pz A_1, Dictionary`2 A_2, List`1 A_3, Dictionary`2 A_4, List`1 A_5, List`1 A_6, List`1 A_7, List`1 A_8, List`1 A_9, Dictionary`2 A_10, l6 A_11, IList`1 A_12, Int32 A_13)
   at GrapeCity.Documents.Excel.mv.a(af8 A_0, pz A_1, Dictionary`2 A_2, List`1 A_3, Dictionary`2 A_4, List`1 A_5, List`1 A_6, List`1 A_7, List`1 A_8, List`1 A_9, Dictionary`2 A_10, Int32& A_11, l6 A_12, IList`1 A_13)
   at GrapeCity.Documents.Excel.mv.a(af8 A_0, Stream A_1, IList`1 A_2)
   at GrapeCity.Documents.Excel.Workbook.FromJson(String json, DeserializationOptions deserializationOptions)
   at GrapeCity.Documents.Excel.Worksheet.FromJson(String json, DeserializationOptions deserializationOptions)


json见附件

sheet.rar

31.96 KB, 下载次数: 39

7 个回复

倒序浏览
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-6-19 19:30:21
沙发
确认一下,新老两个workshe是同一个workbook中的吗

你是先worksheet.toJson(),然后worksheet.fromJson()时,这个新的worksheet是原来的workbook中的吗?

excel中的信息有一部分会存储在workbook中,一般来说建议对workbook整体导出。如果特殊需要导出worksheet ,那么再次导入时也应该是导入到原来的workbook中
回复 使用道具 举报
Andy.C
注册会员   /  发表于:2023-6-20 15:37:23
板凳
Richard.Ma 发表于 2023-6-19 19:30
确认一下,新老两个workshe是同一个workbook中的吗

你是先worksheet.toJson(),然后worksheet.fromJson( ...

我们这边的需求是按照指定sheet返回一个workBook对象(而不是每次都返回一个完整的workBook,太大了),也是考虑到了有部分信息是存在workBook上的,我们这边是这样操作的。
首先读取一个workbook.  然后将这个workbook 移除所有的sheet,单独存储一个只有一个空sheet的workbook json(workbookEmpty).  然后利用这个workBookEmpty去添加(addSheet,sheet.fromjson)想要的workSheet,然后返回。目前其他的几十个sheet返回都正常,只有在添加这个sheet的时候报错.
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-6-20 18:37:31
地板
了解了,那么你可以将这个workbookEmpty也上传上来,我这边验证看看
回复 使用道具 举报
Andy.C
注册会员   /  发表于:2023-6-20 19:24:09
5#
Richard.Ma 发表于 2023-6-20 18:37
了解了,那么你可以将这个workbookEmpty也上传上来,我这边验证看看

workBookEmpty已上传

workbookEmpty.rar

31.98 KB, 下载次数: 36

回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-6-21 10:59:54
6#
测试了一下,老版本4.2.6确实可以重现这个问题,但是新版本V6.1.2中可以正常导入,应该是在新版本已经修复了这个问题。

因为没有拿到你原始的完整workbook的json,所以此前tojson 的流程你可以自己在新版本上也测试一下。整套流程看看有没有问题。如果没有问题的话,升级即可,

仍有问题我可以作为bug提交给研发(产品bug都是在当前最新版本进行修复)。


回复 使用道具 举报
Andy.C
注册会员   /  发表于:2023-6-21 18:33:27
7#
Richard.Ma 发表于 2023-6-21 10:59
测试了一下,老版本4.2.6确实可以重现这个问题,但是新版本V6.1.2中可以正常导入,应该是在新版本已经修复 ...

新版本测试了,没问题。但是我们没有购买最新的版本,如何处理这个问题呢?
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-6-25 13:46:20
8#
目前产品的bug都是在最新版本进行修复的。所以只能升级新版本来解决。

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