Vue结合后台导入导出Excel问题详解

话不多说,直接上前端代码

axios({

  method: 'post',

  url: 'http://localhost:19090/exportUser',//这个是请求的地址

  params: {//这个是请求的参数

  email: this.email,

  startRegisterDate: this.registerStartTime,

  endRegisterDate: this.registerEndTime

  },

  responseType: 'blob'

  }).then((res) => {

  console.log(res)

  const link = document.createElement('a')

  let blob = new Blob([res.data],{type: 'application/vnd.ms-excel'});

  link.style.display = 'none'

  link.href = URL.createObjectURL(blob);

  let num = ''

  for(let i=0;i < 10;i++){

  num += Math.ceil(Math.random() * 10)

  }

  link.setAttribute('download', '用户_' + num + '.xls')

  document.body.appendChild(link)

  link.click()

  document.body.removeChild(link)

  }).catch(error => {

  console.log(error)

  })


仔细看axios请求加了个responseType: 'blob'配置,这是很重要的

我的项目因为请求头里面需要加sessionId,所以需要用上面方法


如果是get请求,请求头不需要额外加参数,直接 window.location.href='http://localhost:19090/exportUser?email='+email+"&start="+start ,打开一个地址即可

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。