element-ui的table表格导出成excel表

1、安装依赖

npm install --save xlsx file-saver

2、在放置需要导出功能的组件中引入

import FileSaver from 'file-saver'
import XLSX from 'xlsx'

3、HTML中的设置

简单来说就是给需要导出的
table标签el-table上加一个id:如exportTab,对应下面的exportExcel方法中的 document.querySelector(’#exportTab’)

4、在methods中设置真正实现导出转换excel表格的方法,如下

使用 this.$nextTick 是在dom元素都生成之后再执行

 exportExcel () {
      // this.pageNum = 1
      // this.pageSize = 20
      this.$nextTick(function () {
        /* generate workbook object from table */
        var xlsxParam = { raw: true } // 导出的内容只做解析,不进行格式转换
        var wb = XLSX.utils.table_to_book(document.querySelector('#exportTab'), xlsxParam)
  
        /* get binary string as output */
        var wbout = XLSX.write(wb, { bookType: 'xlsx', bookSST: true, type: 'array' })
        try {
          FileSaver.saveAs(new Blob([wbout], { type: 'application/octet-stream' }), '审核情况表.xlsx')
        } catch (e) {
          if (typeof console !== 'undefined') {
            console.log(e, wbout)
          }
        }
        // this.pageNum = 1
        return wbout
      })
    },

5.会遇到的问题

1:问题:表格分页生成的时候只能生成当前页的excel

  • 解决方法:在执行 exportExcel 方法的时候,先把表格的页码改为最大
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值