前端导出excal文件已经下载二进制流文件

导出excal文件

exportTable() {
                const params = {
                    classId: id //参数
                }
                downFile(this.url, params).then((data) => {
                    if (!data) {
                        this.$message.warning('文件下载失败') // antd的提醒
                        return
                    }
                    if (typeof window.navigator.msSaveBlob !== 'undefined') {
                        window.navigator.msSaveBlob(new Blob([data], { type: 'application/vnd.ms-excel' }), '文件名' + '.xls')
                    } else {
                        let url = window.URL.createObjectURL(new Blob([data], { type: 'application/vnd.ms-excel' }))
                        let link = document.createElement('a')
                        link.style.display = 'none'
                        link.href = url
                        link.setAttribute('download', '文件名' + '.xls')
                        document.body.appendChild(link)
                        link.click()
                        document.body.removeChild(link) // 下载完成移除元素
                        window.URL.revokeObjectURL(url) // 释放掉blob对象
                    }
                })

            },
 
export function downFile(url,parameter){
  return axios({
    url: url,
    params: parameter,
    method:'get' ,
    responseType: 'blob'
  })
}
 
 
 
posted @ 2022-09-07 17:44  俺是前端小菜  阅读(22)  评论(0编辑  收藏  举报