将el-table原样导出为excel表格

安装依赖

npm install --save xlsx file-saver

引入

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

导出方法

exportExcel(excelName) {
       //excelName --设置导出的excel名称
       //report-table --对应的要导出的el-table的ref名称
      try {
        const $e = this.$refs['report-table'].$el;
        // 如果表格加了fixed属性,则导出的文件会生产两份一样的数据,所以可在这里判断一下
        let $table = $e.querySelector('.el-table__fixed');
        if (!$table) {
          $table = $e;
        }
        // 为了返回单元格原始字符串,设置{ raw: true }
        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' }),
          `${excelName}.xlsx`,
        );
      } catch (e) {
        if (typeof console !== 'undefined') console.error(e);
      }
 }

https://github.com/SheetJS/js-xlsx
https://github.com/eligrey/FileSaver.js
https://segmentfault.com/a/1190000022936812

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值