第一步发送请求,
export function exportRequest (orderId) {
let heads = {}
return axios({
url: '后台给的接口名称' + orderId,
method: 'get',
headers: heads,
responseType: 'blob'
// responseType ->用来设置返回值,默认是'',等同于text,数据格式的转换是浏览器处理的
})
}
第二步,点击“导出”即可下载
<a type="primary" @click="exportExel(record)" >导出</a>
// 点击导出
exportExel (record) {
let fileName = `${record.protocolcode}.xlsx`
exportRequest(record.id).then(res => {
let blob = new Blob([res], { type: 'application/octet-stream' })
if (window.navigator.msSaveOrOpenBlob) {// msSaveOrOpenBlob 方法返回bool值
navigator.msSaveBlob(blob, fileName) // 本地保存
} else {
var link = document.createElement('a') // a标签下载
link.href = window.URL.createObjectURL(blob)
link.download = fileName
link.click()
window.URL.revokeObjectURL(link.href) //释放内存
}
})
},
参考:https://www.cnblogs.com/dingxingxing/p/12053231.html