vue-element-admin项目中将el-table中的数据导出成excel


问题描述

使用vue-element-admin开发过程中需要将el-table中的数据导出为excel

问题解决

  • 安装库
npm i file-saver xlsx -S
  • 引入库
import FileSaver from 'file-saver'

// full import
import * as XLSX from 'xlsx';

// named imports
import { write, utils } from 'xlsx';
  • vue文件
下载excel

    
    
    
    
    
    
    

  • 导出方法
handleDownload(name) {
  let table = document.getElementById("excel_table")
  let et = utils.table_to_book(table)
  let output = write(et, {
    bookType: "xlsx",
    bookSST: true,
    type: "array"
  })

  try {
      FileSaver.saveAs(new Blob([output], { type: "application/octet-stream" }), `${name}.xlsx`)
  } catch (e) {}

  return output
}

参考

GitHub - SheetJS/sheetjs