一、下载依赖包
1、安装xlsx库
npm install --save xlsx@0.17.0
2、安装file-saver库
npm install --save file-saver@2.0.5
二、导入依赖包
在需要导出表格的vue组件中导入xlsx和file-save
import FileSaver from "file-saver";
import XLSX from "xlsx";
封装一个导出方法 handleExport
//fileName 导出文件名;idName 导出table的id;xlsxParam 导出配置
handleExport(fileName='',idName = "#exportTab",xlsxParam={ raw: true }) {
// let xlsxParam = { raw: true }; // 导出的内容只做解析,不进行格式转换
let wb = XLSX.utils.table_to_book(
document.querySelector(idName),
xlsxParam
);
let wbout = XLSX.write(wb, {
bookType: "xlsx",
bookSST: true,
type: "array",
});
try {
FileSaver.saveAs(
new Blob([wbout], { type: "application/octet-stream" }),
`${fileName}记录表.xlsx`
);
} catch (e) {
if (typeof console !== "undefined") {
console.log(e, wbout);
}
}
return wbout;
}
三、调用导出方法
点击按钮导出数据
<el-table :data="tableData" border height="100%" id="exportTab">
...
</el-table>
<el-button @click="handleExport('导出','#exportTab',{ raw: true })">导出当前页面数据</el-button>