vue导出excel

后端对返回数据进行base64编码, 前端需要进行解码, 然后以二进制格式进行读取

transformStream(res) {
  var str = atob(res.data['content'])
  var len = str.length
  var arr = new Uint8Array(len)
  while (len--) {
    arr[len] = str.chartCodeAt(len)
  }
  var blob = new Blob([arr], {type: application/vnd.ms-excel'})
  var downloadEle = document.createElement('a')
  var href = window.URL.createObjectURL(blob)
  downloadEle.href = href
  downloadEle.download = `${res.data['name']}.xls`
  document.body.appendChild(downloadEle)
  downloadEle.click()
  document.body.removeChild(downloadEle)
  window.URL.revokeObjectURL(href)
}