vue 下载excel文件方法,以及下载后的乱码问题

  • vue 下载excel文件方法,以及下载后的乱码问题
  1. 下载excel的方法

// 下载的方法

downLoadXls(data, fileName) {

      const link = document.createElement('a')

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

      link.style.display = 'none'

      link.href = URL.createObjectURL(blob)

      link.download = fileName //下载的文件名,默认是 .xls 后缀

      //如果想改成 .xlsx 后缀可以这么写:

      // link.setAttribute('download', '下载.xlsx')  或者  link.download = fileName + '.xlsx'

      document.body.appendChild(link)

      link.click()

      document.body.removeChild(link)

},


downloadTemplate() {

      let params = {

        fileName: '指标模板.xls'

      }

      //调用后端接口

      downloadTemplate(params).then(res => {

        this.downLoadXls(res, '指标模板')

      })

},

  1. 乱码问题的解决
    responseType: 'blob', //此属性非常重要,不然数据是乱码
export function downloadTemplate(params) {  

        return axios({    

            headers: { 'Content-Type': 'application/json'},   

            responseType:  'blob', //此属性非常重要,不然数据是乱码    

            url: 'file/template/downloadTemplate',    

            method: 'get',    

            params  

    })

} 

你可能感兴趣的:(vue 下载excel文件方法,以及下载后的乱码问题)