Vue——el-table导出excel

本文介绍如何解决Element UI框架中el-table组件导出数据至Excel时出现的数据重复问题。通过删除fixed列数据,配合xlsx和file-saver库,实现正确导出。文章提供了详细的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Element使用时遇到一个问题:el-table导出到excel的时候数据重复了 ,删除el-table的fixed数据可以解决

fixed列是否固定在左侧或者右侧,true 表示固定在左侧string, booleantrue, left, right

1、 安装依赖:

npm install --save xlsx

npm install --save file-saver

vue-script中引用:

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

2、添加导出按钮

<div>
      <el-form
        :inline="true"
        class="demo-form-inline">
        <el-form-item>
          <el-button
            type="success"
            @click="exportExcel()">导出EXCEL</el-button>
        </el-form-item>
      </el-form>
    </div>

3、对应方法:battery 是el-table标签的id ,保存到Battery.xlsx

   exportExcel() {
      var wb = XLSX.utils.table_to_book(document.querySelector('#battery'))

      var wbout = XLSX.write(wb, { bookType: 'xlsx', bookSST: true, type: 'array' })
      try {
        FileSaver.saveAs(new Blob([wbout], { type: 'application/octet-stream' }), 'Battery.xlsx')
      } catch (e) { if (typeof console !== 'undefined') console.log(e, wbout) }

      return wbout
    }

参考:

https://blog.csdn.net/zhongguohaoshaonian/article/details/81507866

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值