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’)

  • 11
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 22
    评论
要在Vue2导出数据到Excel表格,可以使用vue-json-excel插件。您可以在Vue组件编写以下方法来实现导出功能: ```javascript export2Excel() { require.ensure([], () => { const { export_json_to_excel } = require('@/excel/Export2Excel'); const header = ['索引', '用户名', '密码']; // 表格的表头 const filterVal = ['index', 'username', 'password']; // 表格的数据字段 const data = this.tableData.map(v => filterVal.map(j => v[j])); // 格式化数据 export_json_to_excel(header, data, '用户列表'); // 导出Excel文件 }); } ``` 其,`header`是导出数据的表头,`filterVal`是导出数据的字段,`data`是需要导出的具体数据。通过调用`export_json_to_excel`方法,可以将数据导出Excel文件。 请注意,您需要在项目安装`vue-json-excel`插件,并将`Export2Excel.js`文件放置在`@/excel/`目录下,以便引入`export_json_to_excel`方法。 希望对您有所帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Vue2导出Excel](https://blog.csdn.net/qq_40323256/article/details/111305117)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [Vue2.0---将页面表格数据导出excel (详细)](https://blog.csdn.net/weixin_33832340/article/details/94321173)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

范特西是只猫

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

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

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

打赏作者

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

抵扣说明:

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

余额充值