找回密码
 立即注册

QQ登录

只需一步,快速开始

Jeffrey_sun
金牌服务用户   /  发表于:2024-3-1 15:38  /   查看:928  /  回复:10
本帖最后由 Lynn.Dou 于 2024-3-7 10:00 编辑

问题描述:用SpreadJS修改完模板之后,后端GcExcel调用open报错,但是SpreadJS能正常打开。后端报的错是类型转换异常,这个字符串不知道哪来的
期待结果:前端能正常打开,期望GcExcel也能正常open

GC打开sjs报错.zip

1.77 MB, 下载次数: 35

10 个回复

倒序浏览
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2024-3-1 16:52:29
沙发
本帖最后由 Ellia.Duan 于 2024-3-1 16:57 编辑

您好,问题已复现,我将深入调研下此问题,待有进展,会及时联系您。调研编号:DOCXLS-9941
image.png977854309.png
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2024-3-4 14:11:45
板凳
您好,将您的sjs文件在Designer中导入,然后导出,使用新的sjs文件在GcExcel中打开是没有问题的,比较了您提供的sjs文件以及新的sjs文件,发现修复了以下内容:
image.png395057067.png
您可以按照上述步骤测试下,是否还存在问题。
至于您的table列中id是一堆字符串,而不是数值,需要您排查下。


回复 使用道具 举报
Jeffrey_sun
金牌服务用户   /  发表于:2024-3-4 14:28:22
地板
Ellia.Duan 发表于 2024-3-4 14:11
您好,将您的sjs文件在Designer中导入,然后导出,使用新的sjs文件在GcExcel中打开是没有问题的,比较了您 ...

好的,我们先检查一下
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2024-3-4 15:30:10
5#
好的。
回复 使用道具 举报
Jeffrey_sun
金牌服务用户   /  发表于:2024-3-4 15:53:35
6#

另外,既然是id,是否可以改成字符串?并且spreadjs可以打开、保存,后端是否可以兼容一下?
回复 使用道具 举报
Lewis
注册会员   /  发表于:2024-3-4 17:53:55
7#
Jeffrey_sun 发表于 2024-3-4 15:53
另外,既然是id,是否可以改成字符串?并且spreadjs可以打开、保存,后端是否可以兼容一下?

请问这个ID是手动修改过吗?因为Excel的open xml规范,定义了table column的ID应该是一个整数:https://learn.microsoft.com/en-us/dotnet/api/documentformat.openxml.spreadsheet.tablecolumn.id?view=openxml-3.0.1
回复 使用道具 举报
Jeffrey_sun
金牌服务用户   /  发表于:2024-3-4 18:01:52
8#
Lewis 发表于 2024-3-4 17:53
请问这个ID是手动修改过吗?因为Excel的open xml规范,定义了table column的ID应该是一个整数:https://l ...

table是前端代码插入的,确实设置的是字符串,已经改成数值了
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2024-3-4 18:05:59
9#
您好,如楼上热心观众所言,在Excel的xml规范中,table columnId应该是一个整数,所以导致了您的sjs文件在GcExcel中打开报错的场景。
既然定位到了问题,您可以尝试规范下id的类型,毕竟如果一直是错误的数据,即使做了兼容,也是一直在打补丁,说不定哪天就会发生更多的问题。
回复 使用道具 举报
Jeffrey_sun
金牌服务用户   /  发表于:2024-3-4 18:27:30
10#
Ellia.Duan 发表于 2024-3-4 18:05
您好,如楼上热心观众所言,在Excel的xml规范中,table columnId应该是一个整数,所以导致了您的sjs文件在G ...

好的,感谢
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部