使用vue导出excel文件
今天再开发中遇到一件事情,就是怎样用已有数据导出excel文件,网上有许多方法,有说用数据流的方式,https://www.cnblogs.com/yeqrblog/p/9758981.html,但是现在我的想法是只是用数组数据,不接著与数据流的方式去实现,事实证明是可以的:
1.安装依赖
//npm npm install -S file-saver xlsx npm install -D script-loader
2.在main.js中进行导入Bolb.js与Export2Excel.js
两个js文件地址:
链接:https://pan.baidu.com/s/1ib2Ox18FngVlhKxs6l8OZQ
提取码:sirm
import Blob from './excel/Blob' import Export2Excel from './excel/Export2Excel.js'
3.在组件中使用
//导出的方法 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'); }) }, formatJson(filterVal, jsonData) { return jsonData.map(v => filterVal.map(j => v[j]))
tHeader是表头,filterVal 中的数据是表格的字段,tableData中存放表格里的数据,类型为数组,里面存放对象,表格的每一行为一个对象。
如此,就可以了。