Vue实现导出Excel表格

一、 安装三个依赖项

$ cnpm install -S file-saver
$ cnpm install -S xlsx
$ cnpm install -D script-loader

二、在项目中新建一个文件夹(一般在src下新建,文件名自取,在这里命名为excel),在文件夹中放入Blob.js 和 export2Excel.js (这两个文件可在gitup上进行下载)

Blob.js ,export2Excel.js下载地址:https://pan.baidu.com/s/1bzLCiRFvPy2S1FAnNzJsBA 密码:kqfq

三、在build文件夹下找到webpack.base.conf.js做如下修改

resolve: {
    extensions: ['.js', '.vue', '.json'],
    alias: {
      'vue$': 'vue/dist/vue.esm.js',
      '@': resolve('src'),
      'scss_vars': '@/styles/vars.scss',
      'excel': path.resolve(__dirname, '../src/excel'),//新增一行
    }
  },

四、在vue文件中添加下载功能(其中downloadExcel为下载事件,及按钮触发下载事件)

       //列表下载
        downloadExcel() {
          this.$confirm('确定下载列表文件?', '提示', {
            confirmButtonText: '确定',
            cancelButtonText: '取消',
            type: 'warning'
          }).then(() => {
            this.excelData = this.selectData //你要导出的数据list。
            this.export2Excel()
          }).catch(() => {
 
          });
        },
     //数据写入excel
        export2Excel() {
          var that = this;
          require.ensure([], () => {
            const { export_json_to_excel } = require('@/excel/export2Excel'); //这里必须使用绝对路径,使用@/+存放export2Excel的路径
            const tHeader = ['统一编号','海关编号','境内收发货人','提运单号']; // 导出的表头名信息
            const filterVal = ['unifiedNo','customsNo', 'teRsComanyName', 'deliveryNo']; // 导出的表头字段名,需要导出表格字段名
            const list = that.excelData;
            const data = that.formatJson(filterVal, list);
 
            export_json_to_excel(tHeader, data, '下载数据excel');// 导出的表格名称,根据需要自己命名
          })
        },
      //格式转换,直接复制即可
        formatJson(filterVal, jsonData) {
          return jsonData.map(v => filterVal.map(j => v[j]))
        },

完成以上步骤则可成功实现js导出excel表格。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值