|
|
|
@ -220,3 +220,30 @@ export const removeNullField = (obj: Object) => { |
|
|
|
|
} |
|
|
|
|
return obj |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
import * as XLSX from 'xlsx' |
|
|
|
|
import * as FileSaver from 'file-saver' |
|
|
|
|
export const exportTableWithVue = (domId: any, fileName: String) => { |
|
|
|
|
// const XLSX = require('xlsx')
|
|
|
|
|
// 使用 this.$nextTick 是在dom元素都渲染完成之后再执行
|
|
|
|
|
// this.$nextTick(function () {
|
|
|
|
|
// 设置导出的内容是否只做解析,不进行格式转换 false:要解析, true:不解析
|
|
|
|
|
const xlsxParam = { raw: true } |
|
|
|
|
const wb = XLSX.utils.table_to_book(document.querySelector(domId), xlsxParam) |
|
|
|
|
|
|
|
|
|
const 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 |
|
|
|
|
// });
|
|
|
|
|
} |
|
|
|
|