import * as XLSX from "xlsx";
|
import FileSaver from 'file-saver';
|
function exportExcelUtil(headers, data, fileName, sheetName) {
|
// 格式化数据去除无效数据
|
let list = data.map(item=>{
|
let obj = {};
|
Object.keys(headers).forEach(key=>{
|
obj[key] = item[key];
|
});
|
return obj;
|
});
|
const exportData = [
|
headers,
|
...list,
|
];
|
sheetName = sheetName?sheetName:"Sheet1";
|
fileName = fileName?fileName:"新建xlsx工作表";
|
// 注意表格上绑定id,获取dom元素
|
const worksheet = XLSX.utils.json_to_sheet(exportData, { skipHeader: true });
|
const workbook = XLSX.utils.book_new();
|
XLSX.utils.book_append_sheet(workbook, worksheet, sheetName);
|
const workbookOutput = XLSX.write(workbook, { bookType: "xlsx", type: "array" });
|
try {
|
FileSaver.saveAs(new Blob([workbookOutput], { type: 'application/octet-stream' }), fileName+".xlsx")
|
} catch (e) {
|
console.log(e)
|
}
|
}
|
|
export default exportExcelUtil;
|