vue下载表格 兼容ie 绝对好使

axios ( {
method : ‘post’,
url : api.exportPlayTime , // 请求地址
data : {
choose : type,
begindate : startDate,
enddate : endDate
},
responseType : ‘arraybuffer’,
observe: ‘response’,
} )
.then ( ( res ) => {

  const fileName = ""+filename+".xlsx"
  let blob = new Blob([res.data], {type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"});
  if ( 'download' in document.createElement ( 'a' ) ) { // 非IE下载
   const elink = document.createElement ( 'a' )
   elink.download = fileName
   elink.style.display = 'none'
   elink.href = URL.createObjectURL ( blob )
   document.body.appendChild ( elink )
   elink.click ()
   URL.revokeObjectURL ( elink.href ) // 释放URL 对象
   document.body.removeChild ( elink )
  } else { // IE10+下载
   navigator.msSaveBlob ( blob, fileName )
  }
 })

download(data) {
if (!data) {
return
}
let url = window.URL.createObjectURL(new Blob([data]))
let link = document.createElement(‘a’)
link.style.display = ‘none’
link.href = url
link.setAttribute(‘download’, ‘excel.xlsx’)

document.body.appendChild(link)
link.click()

},

你可能感兴趣的:(前端)