Vue实现element table表格导出为excel表格

实现element表格导出为excel表格

vue使用elementUI,做出来的表格需要导出为excel表格。

1、安装相关依赖

cnpm install --save xlsx file-saver

2、组件里头引入(项目多处运用,可放到main.js当中)

import FileSaver from ‘file-saver’
import XLSX from ‘xlsx’

3、在页面中按钮上加方法

<button @click="exportExcel()">导出</button>

4、组件methods里写一个方法

  1. 无提醒的
 exportExcel () {
         /* out-table关联导出的dom节点  */
         var wb = XLSX.utils.table_to_book(document.querySelector('#out-table')) //table标签绑定的类名
         /* 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) }
         return wbout
 },
  1. 有提醒的
this.$confirm("是否确认导出当前所有借阅统计数据?", "警告", {
          confirmButtonText: "确定",
          cancelButtonText: "取消",
          type: "warning",
        })
          .then((response) => {
            var wb = XLSX.utils.table_to_book(
              document.querySelector(".dataListFirst")
            );
            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);
            }
            return wbout;
          });

5、导出的结果

PC页面:
在这里插入图片描述

点击导出之后得到的表格
在这里插入图片描述

6、备注

  1. 这样的做法,导出当前页表格的内容不用走后台接口;
  2. 当前页面的表格数据显示为多少条就导出多少条(视当前表格分页显示数据条数而定)
  3. 使用的如果有诟病希望大家可以评论里留言

原文链接

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论
要将Vue 3中的el-table导出Excel,你可以使用以下步骤: 1. 首先,你需要安装`xlsx`和`file-saver`包。在终端中运行以下命令: ``` npm install xlsx file-saver ``` 2. 在你的Vue组件中,导入所需的库: ```javascript import XLSX from 'xlsx'; import { saveAs } from 'file-saver'; ``` 3. 创建一个方法来导出表格数据为Excel文件: ```javascript exportData() { // 获取表格数据 const tableData = this.$refs.table.data; // 创建一个工作簿 const workbook = XLSX.utils.book_new(); // 创建一个工作表 const worksheet = XLSX.utils.json_to_sheet(tableData); // 将工作表添加到工作簿中 XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1'); // 将工作簿转换为Excel文件的二进制数据 const excelData = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' }); // 创建一个Blob对象,并保存为Excel文件 const blob = new Blob([excelData], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' }); saveAs(blob, 'table_data.xlsx'); } ``` 4. 在el-table组件上添加一个导出按钮,并调用`exportData`方法: ```html <el-table ref="table"> <!-- 表格内容 --> </el-table> <el-button @click="exportData">导出Excel</el-button> ``` 以上代码将会将el-table中的数据导出为名为`table_data.xlsx`的Excel文件。请确保在`<el-table>`标签上设置了ref属性,以便在`exportData`方法中引用表格数据。 这是使用Vue 3和Element Plus的示例,如果你在项目中使用了其他UI库或版本,请相应地调整代码。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李泽举

如对你有帮助,那我就没白写

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值