kboss/f/web-kboss/src/utils/exportExecl.js
2025-07-16 14:27:17 +08:00

40 lines
1.1 KiB
JavaScript

import FileSaver from 'file-saver'
const XLSX = require('xlsx')
/**
* el-table数据导出execl文件
*
* @param {*} id:el-table元素id
* @param {*} fileName :导出文件名称
* @returns
*/
function exportExecl(id,fileName){
let excelName = fileName||'导出表格.xlsx';
var xlsxParam = { raw: true };
let tables=document.getElementById(id);
if(!tables) return
tables = document.getElementById(id).cloneNode(true);
// 移除固定列,防止重复生成表格
if (tables.querySelector('.el-table__fixed') !== null) {
tables.removeChild(tables.querySelector('.el-table__fixed'))
}
let table_book = XLSX.utils.table_to_book(tables,xlsxParam);
var table_write = XLSX.write(table_book, {
bookType: "xlsx",
bookSST: true,
type: "array"
});
try {
FileSaver.saveAs(
new Blob([table_write], { type: "application/octet-stream" }),
excelName
);
} catch (e) {
console.log(e, table_write);
}
return table_write;
}
export default exportExecl