vue-导出数据

封装 API

下载接口需要拼接 responseType: 'blob',

// 导出数据
export function exportLabelExcel(params) {
  return request({
    url: 'omstudio/task/statistics/exportData',
    method: 'post',
    data: params,
    responseType: 'blob',
    fileType: 'excel',
  });
}

导出数据

exportExcel(data, filename)

第一个参数 data :导出的数据

第二个参数 filename: 文件名

// 导出excel表格
export function exportExcel(data, filename) {
  let blob = new Blob([data], { type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8" });
  let url = window.URL.createObjectURL(blob);
  let a = document.createElement("a"); // 创建一个a元素
  a.download  = `${filename}.xlsx`; // 下载文件的名称
  a.href = url; // 下载文件的路径
  a.click(); // 确认下载
  window.URL.revokeObjectURL(url);
};

Blob

是一段二进制数据,有两个参数:data,type

第一个参数data:必须用 [ ] 包裹

第二个参数type:设置type类型(现在只有type 一个可配置项)

blob有两个属性:type   size:大小(单位:字节) 

 


window.URL.createObjectURL(blob);

  • objectURL是生成的对象URL,通过这个URL,可以获取到所指定文件的完整内容。
  • 他的参数是一个 file 或者 blob 对象 ;获得一个http格式的url路径


window.URL.revokeObjectURL(url);

URL.revokeObjectURL()静态方法用来释放一个之前通过调用URL.createObjectURL()创建的已经存在的 URL 对象。当你结束使用某个 URL 对象时,应该通过调用这个方法来让浏览器知道不再需要保持这个文件的引用了。

问题

打开下载的文件

 无法显示数据

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值