Vue + element-ui实现导出excel表

1、安装依赖

npm install --save xlsx file-saver

2、引入插件

<-- 在要导出的页面引入,或者在main中定义全局使用。我这里是在页面中直接引入 -->
import XLSX from "xlsx"

 3、导出按钮

<-- 普通的按钮,添加点击事件(避免重复点击) -->

<el-button 
    type="warning"
    plain
    size="mini"
    @click.stop.prevent="exportData"
>导出</el-button>

4、点击导出按钮触发exportData事件

this.$confirm("确定要导出列表文件?", "提示", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
      }).then(() => {
          // getList 调用接口,从后台请求数据
          this.getlist();
          // this.arr是用后端请求到的数据
          this.exportNewList(this.arr);
      });
exportNewList(arr) {
      let tableData = [];
      var tabHandle = []; //导出表头
      // this.listItems 是表头数据
      this.listItems.forEach((item) => {
        tabHandle.push(item.label);
      }); //表头数组
      arr.forEach((item, index) => {
        let rowData = [];
        //导出内容的字段
        rowData = [
          item.USERPHONE,
          item.USERNAME,
          item.XDTIME,
          item.ORDERNUM,
          item.GOODSNAME,
          item.SHULIANG,
          item.DIZHI,
          item.STATUS,
          item.KUAIDI,
          item.KDDANHAO,
        ];
        tableData.push(rowData);
      });
      console.log(tableData)
      var xlsxParam = { raw: true }; //转换成excel时,使用原始的格式
      let workSheet = XLSX.utils.json_to_sheet(tableData, xlsxParam);
      let bookNew = XLSX.utils.book_new();
      XLSX.utils.book_append_sheet(bookNew, workSheet, "订单"); // 工作簿名称
      let name = "订单列表.xlsx"; //表格名称
      XLSX.writeFile(bookNew, name); // 保存的文件名
    },

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值