找回密码
 立即注册

QQ登录

只需一步,快速开始

biz-dev

中级会员

99

主题

266

帖子

917

积分

中级会员

积分
917

微信认证勋章

biz-dev
中级会员   /  发表于:2020-4-8 15:56  /   查看:2138  /  回复:3
你好,如果我想在窗体退出时保存excel,这个可以做到么?
现在已经绑定了beforeunload / unload事件。
但是我们在保存excel的时候,发现IO操作都是Promise实现的,这样异步操作的话,是没有办法完成的。
所以请问我们要如何做窗体退出时保存excel。
或者说有办法把需要的流数据什么的得到呢?
麻烦提供一个例子,谢谢!

3 个回复

倒序浏览
Fiooona
论坛元老   /  发表于:2020-4-8 19:05:58
沙发
保存Excel可以调用excelio.save 方法,在您想要保存的时候调用这个方法,可以获取当前SpreadJS保存为Excel的文件流
https://demo.grapecity.com.cn/sp ... lio/excel-io/purejs
不太明白“但是我们在保存excel的时候,发现IO操作都是Promise实现的,这样异步操作的话,是没有办法完成的。”您的这句话,可以再详细解释一下?
组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!
回复 使用道具 举报
biz-dev
中级会员   /  发表于:2020-4-9 08:08:41
板凳
如你例子中所示:
  1. excelIo.save(json, function (blob) {
  2.             saveAs(blob, fileName);
  3.         }, function (e) {
  4.             // process error
  5.             console.log(e);
  6.         }, {password: password});
复制代码

正常执行save之后,success 和 error并不是同步执行的,而是要等到save有执行结果之后才会有回调,这个操作就相当于异步操作了。
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-4-9 11:19:21
地板
ExcelIO是同步操作不是异步操作
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部