VUE中如何导出表格中的数据,导出成excel

我最近有用到这个东西,看到过网上的不少文章来说这个东西,但是感觉他们的都是比较的麻烦,我这里记录一下一个比较简单的。
先看看我的项目截图
我们导出的时候点击一下就行了
这是导出来的数据

在这里插入图片描述
下来我们直接看咋样来用:

  1. 首先我们需要下载三个依赖包
 cnpm install -S xlsx
 cnpm install -D script-loader
 cnpm install -S file-saver

这里我是用的cnpm这样安装比较的快一点,当然也可以用npm,但是还是推荐使用cnpm。
这里先要安装两个js文件我放在了网盘里面大家需要自取
链接: https://pan.baidu.com/s/1yN1Zj-mX8VkMIUdibY77nA 提取码: xdfv。
在这里插入图片描述

  1. 第二步就是把两个js文件下载下来, 在我们的vue项目中任意建立一个文件夹(我这里为演示方便所以将文件夹命名为excel,你们可以自行命名),将文件放入 在这里插入图片描述
  2. 在我们需要导出的页面写一个导出函数和按钮(用来触发函数)
<div class="excel">
        <span @click="exportData"
          ><i
            class="el-icon-printer"
            style="font-size: 35px; color: rgba(48, 127, 247, 0.8)"
        /></span>
      </div>
 // 导出数据
    exportData() {
      this.excelData = this.planList; //将你要导出的数组数据(historyList)赋值给excelDate
      this.export2Excel(); //调用export2Excel函数,填写表头(clomns里的type)和对应字段(historyList里的属性名)
    },
    //表格数据写入excel
    export2Excel() {
      var that = this;
      require.ensure([], () => {
        const { export_json_to_excel } = require("@/assets/excel/Export2Excel");
        //这里使用绝对路径( @表示src文件夹 ),使用@/+存放export2Excel的路径【也可以写成相对于你当前"xxx.vue"文件的相对路径,例如我的页面放在assets文件夹同级下的views文件夹下的“home.vue”里,那这里路径也可以写成"../assets/excel/Export2Excel"】
        const tHeader = [
          "单号",
          "标题",
          "申请时间",
          "申请人",
          "备注",
          "结束时间",
        ]; // 导出的excel表头名信息
        const filterVal = [
          "purchase_order_number",
          "purchase_title",
          "application_time",
          "applicant",
          "remarks",
          "approval_end_time",
        ]; // 导出的excel表头字段名,需要导出表格字段名
        const list = that.excelData;
        const data = that.formatJson(filterVal, list);

        export_json_to_excel(tHeader, data, "采购计划表单"); // 导出的表格名称,根据需要自己命名
      });
    },
    //格式转换,直接复制即可,不需要修改什么
    formatJson(filterVal, jsonData) {
      return jsonData.map((v) => filterVal.map((j) => v[j]));
    },

注意:
在这里插入图片描述
这里是你要导出的数据的字段,这里填的字段就是你的excel中排序的字段。
在这里插入图片描述

这里的数据是后端返回给我们的json数据。这个导出还是挺简单的,有问题希望大家留言。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值