extjs 页面导出excel 或文件 进度条 监听实现
本文主要解决服务端接口返回的文件流 由于接口数据量很大,所以导出时间有点长,用户无法知道导出进度,界面无法展示导出成功 或失败的问题。
解决关键在于,接收数据的格式改为为二进制,(一般情况为json格式),
这时候界面会获取到二进制数据,
创建Blob对象
将二进制数据作为参数传递到新创建的Blob对象中,
创建对应的dom元素标签a,并将blob对应的url设置为a标签的href属性中
触发该标签的点击操作
var i = 0,
fn;
var msgBox = Ext.MessageBox.show({
title: '请等待',
msg: '数据读取中, 请稍后...',
progressText: '读取中...',
width: 300