后台管理项目中避免不了要导出excel,这里用vuecli导出excel
1.安装以下依赖
npm i file-saver xlsx -S
npm i script-loader -D
2.下面要用到两个js文件Blob.js和Export2Excel.js ,这里点击去github下载,我将这两个文件放在项目的src>assets>js下面,如下图
3.在Export2Excel.js中修改引入的路径,修改如下
require('script-loader!file-saver');
require('./Blob');
require('script-loader!xlsx/dist/xlsx.core.min');
4.在需要导出的页面中写入下面两个方法
// 导出excel
exportExcel() {
require.ensure([], () => {
const { export_json_to_excel } = require("../../assets/js/Export2Excel");
// 头部
const tHeader = [
"姓名",
"性别",
"住址"
];
//filterVal 对应的下面数组list的每个字段,例如list = [{name:'胡歌',sex:'男',address:'上海'}]
const filterVal = [
"name",
"sex",
"address"
];
//list为要导出的数据
const list = [{name:'胡歌',sex:'男',address:'上海'}];
const data = this.formatJson(filterVal, list);
export_json_to_excel(tHeader, data, "excel列表");
});
},
formatJson(filterVal, jsonData) {
return jsonData.map(v => filterVal.map(j => v[j]));
}
},