找回密码
 立即注册

QQ登录

只需一步,快速开始

鹅鹅鹅blue
金牌服务用户   /  发表于:2023-8-28 14:11  /   查看:2582  /  回复:16
在升级v16后,导入excel时前端弹窗报错。
经过排查发现,获取到当前的sheet的Xs属性为canvas,而canvas为undefined,导致canvas.toDataURL出错,进而进入catch函数而报错。
如下图:可以打印出try1,而不能打印出try2
image.png201063231.png


image.png776005248.png

16 个回复

倒序浏览
鹅鹅鹅blue
金牌服务用户   /  发表于:2023-8-28 15:20:05
沙发
不论上传哪个excel文件都是这样,是因为上传时调用上图函数,而升级v16后上图canvas变量为undefined,但有canvas.toDataURL,因此报错,或者升级v16后怎样可以不通过Xs对象获取到toDataURL呢
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2023-8-28 15:20:17
板凳
请问您升级v16之前用的是什么版本呢?可以正常使用吗?
回复 使用道具 举报
鹅鹅鹅blue
金牌服务用户   /  发表于:2023-8-28 15:21:19
地板
之前用的v15.2.2,可以正常使用,导入不报错;但现在客户要求段落首行缩进功能,因此只能升级到v16
回复 使用道具 举报
鹅鹅鹅blue
金牌服务用户   /  发表于:2023-8-28 15:21:56
5#
是因为v16版本中没有Xs对象了吗
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2023-8-28 15:26:31
6#
鹅鹅鹅blue 发表于 2023-8-28 15:21
是因为v16版本中没有Xs对象了吗

是的,v16不支持了呢。
回复 使用道具 举报
鹅鹅鹅blue
金牌服务用户   /  发表于:2023-8-28 15:28:28
7#
那v16中如何获取到toDataURL对象呢
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2023-8-28 15:32:33
8#
https://demo.grapecity.com.cn/sp ... ad.Sheets.Worksheet

此链接是sheet的相关公开API文档,如果不是 Publich  的 API,每次版本更新都有可能改变或者隐藏,这是不可预知的。
在使用SpreadJS过程中,建议您使用公开的API。

回复 使用道具 举报
鹅鹅鹅blue
金牌服务用户   /  发表于:2023-8-28 15:35:54
9#
那针对不支持Xs对象而无法获取到toDataURL对象问题,v16中能怎么处理,能否提供个解决方法
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2023-8-28 16:31:35
10#
鹅鹅鹅blue 发表于 2023-8-28 15:35
那针对不支持Xs对象而无法获取到toDataURL对象问题,v16中能怎么处理,能否提供个解决方法

您好,您试下下面的代码是否可以解决您的问题:

      
  1. let dom = spread.getHost()
  2.         let canvas2 = dom.querySelectorAll('canvas')[dom.querySelectorAll('canvas').length-2];
  3.         console.log(canvas2.toDataURL())
复制代码

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