Vue 将页面中表格数据导出excel

一、需要安装三个依赖:

       npm install -S file-saver xlsx

       npm install -D script-loader

二、项目中新建一个文件夹:(vendor---名字任取)

  里面放置两个文件Blob.js和 Export2Excel.js。

  链接:https://pan.baidu.com/s/1krRDSw6PHylWlg5yslwZGA  密码:qotw

       下载后直接将文件夹放到src目录下即可。

三、在.vue文件中
  在methods里写这两个方法:其中list是表格的内容

 // 导出表格
export2Excel() {
    require.ensure([], () => {
          let { exportJsonToExcel } = require('../../vendor/Export2Excel');
           // 表头
          let tHeader = ['序号', 'IMSI', 'MSISDN', '证件号码'];
          //表头对应字段名,要和下面数据key对应
          let filterVal = ['iAutoID', 'Address', 'AuctionDate', 'Area'];
          // 数据来源
          // let list = this.serachData;
          //模拟数据
           let list =  [
           {iAutoID: "4737", Address: "海门市海门镇南海路南、长江路东侧", AuctionDate: "0000-00-00", Area: ""},
           {iAutoID: "21337", Address: "上海市浦东新区东至:A13B-01地块,南至:A13B-01地块,西至:国展路,北至:A13B-01地块",Area: ""},
           {iAutoID: "17373", Address: "白马大道以东、建业路以北", AuctionDate: "0000-00-00", Area: ""},
            {iAutoID: "17271", Address: "黄陂区横店街川龙大道以东、横中路以北", AuctionDate: "0000-00-00", Area: "黄陂"},
            {iAutoID: "20577", Address: "南通市海门四甲镇东渐大道北侧、军工路南侧", AuctionDate: "0000-00-00", Area: ""},
            {iAutoID: "18929", Address: "奥诺斯特以东、黄河路以南", AuctionDate: "2018-09-21", Area: ""}]
               let data = this.formatJson(filterVal, list); //数据格式化
               var index1 = '资源列表';//导出时文件名
               exportJsonToExcel(tHeader, data, index1); //导出文件
              })
            },
            // 数据格式化
            formatJson(filterVal, jsonData){
                return jsonData.map(v => filterVal.map(j => v[j]))
            },

  

四、添加按钮导出调用export2Excel方法

<el-button plain size="mini" @click="export2Excel" >导出数据</el-button>
发布了19 篇原创文章 · 获赞 15 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/qq_30671099/article/details/82755223