记录--vue+el-table导出(多级表头)

使用的是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)
      }
    }

你可能感兴趣的:(记录)