后端返回base64格式数据转excel格式文件并下载

后端返回base64格式数据转excel格式文件并下载

前几天一个月薪35k的兄弟,给我推了一个人工智能学习网站,看了一段时间挺有意思的。包括语音识别、机器翻译等从基础到实战都有,很详细,分享给大家。大家及时保存,说不定啥时候就没了。

效果

在这里插入图片描述

组件

/**
 * base64格式转excel格式文件并下载
 * @param {*} base64result 后端返回的base64格式的数据
 * @param {*} filename 下载文件的名字
 */
function dataURLtoBlob(base64result,filename) {
    var raw = window.atob(base64result);
    var uInt8Array = new Uint8Array(base64result.length);
    for (var i = 0; i < raw.length; i++) {
      uInt8Array[i] = raw.charCodeAt(i);
    }

    const link = document.createElement("a");
    const blob = new Blob([uInt8Array],{
      type: 'application/vnd.ms-excel'
    })

    link.style.display = 'none';
    link.href = URL.createObjectURL(blob);
    link.setAttribute('download', filename +'.xls');

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

    document.body.removeChild(link)

  }

export {
    dataURLtoBlob
}

使用

import { dataURLtoBlob } from '../../../utils/index'
async hDownloadData() {  // 下载数据
  const res = await getexcelData()
  let base64Data = res.data.base64Data
  let fileName = res.data.fileName
  dataURLtoBlob(base64Data, fileName)
}

你可能感兴趣的:(项目,javascript,前端)