zoukankan      html  css  js  c++  java
  • 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 ,打开一个地址即可

    后续ie兼容修改请参考 https://www.cnblogs.com/ttjm/p/11661133.html

  • 相关阅读:
    date日期格式化
    表单解析模块formidable
    express-session模块
    密码加密模块bcrypt
    后端数据验证模块Joi
    mongoose-sex-page分页模块
    决策树算法及应用
    朴素贝叶斯分类
    实验二 K-邻近
    实验一 感知器及其应用
  • 原文地址:https://www.cnblogs.com/ttjm/p/11307462.html
Copyright © 2011-2022 走看看