1.安装file-saver 和 xlsx
2.封装方法(重点)
import FileSaver from "file-saver";
import XLSX from "xlsx";
outputXLSX = (filename, selector, _this) => {
selector = selector || "#mytable"; //mytable为默认的表格id名
filename = filename // 文件名
var wb = XLSX.utils.table_to_book(document.querySelector(selector), {
raw: true
});
var wbout = XLSX.write(wb, {
bookType: "xlsx",
bookSST: false,
type: "array"
});
try {
FileSaver.saveAs(
new Blob([wbout], { type: "application/octet-stream" }),
filename + ".xlsx"
);
if(_this) _this.$message.success("导出成功"); //导出成功的提示
} catch (e) {
if (typeof console !== "undefined") console.log(e, wbout);
}
return wbout;
};
3.vue文件里面写个table,exportList是要导出的数据列表
<el-table
id="mytable"
:data="exportList"
>
<el-table-column prop="name" label="名称"> </el-table-column>
<el-table-column prop="mobile" label="手机号"> </el-table-column>
<el-table-column prop="status" label="状态"> </el-table-column>
<el-table-column prop="date" label="时间"> </el-table-column>
</el-table>
4.调用outputXLSX导出
exportData(){
outputXLSX('文件名', '#mytable', this);
}