工作总结之记录如何使用post方法做导出文件功能
一般导出EXCEL表格会用get方法,但是实际工作中也会遇到使用post的方法的情况。
那么如何用呢?下面用例子来展示
import axios from 'axios'
exportTable = () => {
try {
axios.post(`接口路径`, 所需参数, {
responseType: 'blob',
headers: {
'Content-Type': 'application/json'
}
}).then(res => {
if (res.data && res.data.success === false) {
Toast.error(res.data.errorMsg);
} else {
let link = document.createElement('a') // 创建一个a标签
link.href = URL.createObjectURL(res.data) // 生成下载路径
link.download = `${overviewData.title}详细信息.xls` // 导出文件名设置
link.dispatchEvent(new MouseEvent('click')) // 导出方式
/*(
或者用简洁的方式可以这样写
let url = URL.createObjectURL(res.data);
link.download = '掉电数据导出.xlsx';
link.href = url;
link.click();
)*/
}
});
} catch (error) {
console.log(error) // 捕捉错误
}
}
<Button onClick={this.exportTable}>导出文件</Button>

浙公网安备 33010602011771号