vue.js中使用Export2Excel导出Excel表格

有一个项目需求,要求在前端项目中导出Excel表格,经过查找代码,Vue.js确实可以实现,具体实现步骤为:

在这里插入图片描述

1. vue 安装依赖

npm install -S file-saver
npm install -S xlsx
npm install -D script-loader

2.导入两个JS
提供下载地址,下载后自行导入:下载Blob.js 和 Export2Excel.js
下载Blob.js和Export2Excel.js后,在src目录下新建Excel文件夹,里面放入Blob.js和Export2Excel.js两个JS文件
在这里插入图片描述

3.组件中使用

methods中添加

//导出的方法
exportExcel() {
  require.ensure([], () => {
    const { export_json_to_excel } = require('../excel/Export2Excel');
    const tHeader = ['序号', '昵称', '姓名'];
    // 上面设置Excel的表格第一行的标题
    const filterVal = ['index', 'nickName', 'name'];
    // 上面的index、nickName、name是tableData里对象的属性
    const list = this.tableData;  //把data里的tableData存到list
    const data = this.formatJson(filterVal, list);
    export_json_to_excel(tHeader, data, '![列表excel](https://img-blog.csdnimg.cn/20200807112909345.gif)
');
  })
},
formatJson(filterVal, jsonData) {
  return jsonData.map(v => filterVal.map(j => v[j]))
}

tHeader是表头,filterVal 中的数据是表格的字段,tableData中存放表格里的数据,类型为数组,里面存放对象,表格的每一行为一个对象。

tableData 中的值为:

data () {
    return {
      tableData: [
        {'index':'0',"nickName": "沙滩搁浅我们的旧时光", "name": "小明"},
        {'index':'1',"nickName": "女人天生高贵", "name": "小红"},
        {'index':'2',"nickName": "海是彩色的灰尘", "name": "小兰"}
      ]
    }
  }

5.查看效果
在这里插入图片描述

如果运行时,报如下所示的错误:
在这里插入图片描述
这是因为Export2Excel.js的设置需要改下:
在这里插入图片描述
注: 把require(‘script-loader!vendor/Blob’)改为 require(‘./Blob.js’)

评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Q_Q 忙里偷闲

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值