前端excel下载,js接收excel二进制数据流,转化为excel下载

// 定义接口函数
export function shopExport(data) {
  return request({
    url: '/shop/export',
    'responseType': "arraybuffer",//指定响应的数据类型
    // params: query
    method:'post',
    data
  })
}

//调用接口
 shopExport(data).then((res)=>{
export_excel_file(res.data, "店铺列表");//二进制数据转excel,本地下载
        })
      


// 导出excel文件
export function export_excel_file(export_data,list_name){
  let link = document.createElement("a");
 //    type就是blob的type,是MIME类型的,可以自己查看MIME类型都有哪些
  let blogw = new Blob([export_data],{type:"application/vnd.ms-excel;charset=utf-8"})
  let objectUrl = window.URL.createObjectURL(blogw);    //创建一个新的url对象
  link.href = objectUrl;
  let file_name = `${moment().format(`YYYYMMDDHHmmss${list_name}`)}.xlsx`;//文件命名,可以随便取
  link.download = file_name;    //  下载的时候自定义的文件名
  link.click();
  window.URL.revokeObjectURL(objectUrl);   //为了更好地性能和内存使用状况,应该在适当的时候释放url.

}

猜你喜欢

转载自blog.csdn.net/weixin_52004060/article/details/121095330