找回密码
 立即注册

QQ登录

只需一步,快速开始

搬砖小李

金牌服务用户

14

主题

70

帖子

192

积分

金牌服务用户

积分
192
搬砖小李
金牌服务用户   /  发表于:2023-11-7 15:04  /   查看:2080  /  回复:7
本帖最后由 Richard.Huang 于 2024-2-23 12:01 编辑

产品:SpreadJS
版本:V16.2.5
问题编号:【SJS-21117】
LastReview:2023/12/28
该问题将在V17.0.0中修复,可以升级版本后来解决该问题

SpreadJS,从16.1.4升级到16.2.5以后,出现以下问题:
我们通过sheet.toJson导出的json数据,再通过sheet.fromJson导入后,会报错“无效的公式”,新的【归档.zip】里可以复现,index8使用16.2.5,index9使用16.1.4,旧版本不报错,新版本报错,再帮忙看一下怎么处理

image.png222604674.png image.png179672850.png

formula.zip

728.6 KB, 下载次数: 501

7 个回复

倒序浏览
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2023-11-7 15:55:19
沙发
您好,由于您提供的是一个sheet的json文件,是否可以提供下整个工作簿Spread.toJSON()之后的文件,这边根据这个文件测试下。
回复 使用道具 举报
搬砖小李
金牌服务用户   /  发表于:2023-11-7 16:44:36
板凳
Ellia.Duan 发表于 2023-11-7 15:55
您好,由于您提供的是一个sheet的json文件,是否可以提供下整个工作簿Spread.toJSON()之后的文件,这边根据 ...

已重新上传【formula.zip】附件,请查收
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2023-11-7 17:44:34
地板
本帖最后由 Ellia.Duan 于 2023-11-7 17:52 编辑

您好,您的问题已复现,我们将深入调研下此问题。待有进展,将及时联系您。

问题编号:【SJS-21117】
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2023-11-8 15:11:43
5#
本帖最后由 Ellia.Duan 于 2023-11-8 15:13 编辑

您好,调研结果如下:
image.png448865355.png


查看您的json文件,上图中您的sheet中的chart图表发现引用了其他sheet的图表内容
正常来说, 如果一个sheet包含的图表数据来源于另一个sheet, 如果仅仅是sheet.toJOSN ,而不是spread.toJSON(),  那么在另一个spread中由于缺少相关数据,所以sheet.from()时,图表将不会正常显示。关于这点,您可以实际测试一下。

从这个角度来看,v16.1.4 是一个 bug,正如前面所说,如果您使用 sheet toJSON/fromJSON 克隆一个sheet,应该确保原始工作簿的源工作表中没有跨工作表内容。
因此,在 v16.1.4 中,图表应该是不可用。
但是,在 v16.2.5 中,图表确实不可用了,但是不应该抛出异常,最坏的情况是,应该将图表留空。
所以这个问题目前确认为一个bug ,我们将在之后的版本修复。本贴将移至“bug反馈区”


目前您可以在toJSON之前,将引用其他sheet数据的图表进行删除。





回复 使用道具 举报
搬砖小李
金牌服务用户   /  发表于:2023-11-8 17:31:51
6#
Ellia.Duan 发表于 2023-11-8 15:11
您好,调研结果如下:

好的了解了,
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2023-11-8 17:55:47
7#
好的,您可以按照楼上给出的方案先删除相关图表。同时此问题有进展,会及时联系您。
回复 使用道具 举报
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2024-2-23 12:02:30
8#
您可以通过npm工具升级SpreadJS版本后来解决该问题,本贴就先结贴了,后续有其他相关问题欢迎继续发帖提问
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部