import { BASE_URL } from '@/config' //基本路径(根据项目封装情况决定)
import axios from 'axios'
import store from '@/store'
import router from '@/router'
/* 导出(POST)
url:接口地址
data:参数
name:导出表格名称.xls
*/
export const exportExcelPost = (url, data, name) => {
try {
axios({
method: 'post',
url: `${BASE_URL}${url}`,
timeout: 3 * 1000 * 60,
headers: {
userToken: store.getters.token,
userId: store.getters.id,
referers: router.app._route.meta.role
},
responseType: 'blob',
data
}).then(result => {
const link = document.createElement('a')
let blob = new Blob([result.data], {
type: 'application/octet-stream'
})
link.style.display = 'none'
link.href = URL.createObjectURL(blob)
link.download = `${name}`
document.body.appendChild(link)
link.click()
document.body.removeChild(link)
})
} catch (error) {
console.log(error)
}
}
ps:调用后端接口即可,uri:接口地址;data:参数;name:导出文件名称
前端导出(下载)
于 2023-01-04 11:41:23 首次发布