使用的是JS-xlsx和file-saver插件(npm install --save xlsx file-saver),代码:
import FileSaver from 'file-saver'
import XLSX from 'xlsx'
...
exportReport(name) {
try {
const $e = this.$refs['report-table'].$el
let $table = $e.querySelector('.el-table__fixed')
if(!$table) {
$table = $e
}
const wb = XLSX.utils.table_to_book($table, {raw:true})
const wbout = XLSX.write(wb, {bookType: 'xlsx', bookSST:true, type: 'array'})
FileSaver.saveAs(
new Blob([wbout],{type: 'application/octet-stream'}),
`${name}.xlsx`,
)
} catch (e) {
if (typeof console !== 'undefined') console.error(e)
}
}