表格数据导出成Excle文件
1.封装请求 exportExcle.js
import axios from 'axios';
export const exportExcle = (data) => {
return axios({
url: 'export/excle',
method: 'post',
headers: { 'content-type': 'application/json' },
data,
responseType: "blob"
})
}
<template>
<div class="container">
<el-button type="primary" @click="exportExcle">导出</el-button>
<el-table >..............</el-table>
</div>
</template>
<script>
import { exportExcle } from '@src/utils/exportExcle.js'
export default {
methods: {
exportExcle () {
let fileName = '导出文件的文件名'
try {
let obj = { 调用后端接口的参数 ... }
exportExcle(obj).then(res => {
this.tableDataExportExcle(res.data, fileName)
})
} catch (error) {}
},
tableDataExportExcle(data, fileName) {
const blob = new Blob([data], { type: "application/vnd.ms-excel" });
const elink = document.createElement("a");
elink.download = `${fileName}-${Date.now()}`;
elink.style.display = "none";
elink.href = URL.createObjectURL(blob);
document.body.appendChild(elink);
elink.click();
URL.revokeObjectURL(elink.href);
document.body.removeChild(elink);
}
}
}
</script>