1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > vue导出excel加一个进度条_vue 实现excel导出功能

vue导出excel加一个进度条_vue 实现excel导出功能

时间:2020-01-30 14:49:15

相关推荐

vue导出excel加一个进度条_vue 实现excel导出功能

最近Vue项目中用到了导出功能,在网上搜索了一番之后,决定采用Blob方式,这也是大家推荐的一种的方式,特此做下记录。

导出Excel功能

我是使用vue-cli3.0的框架,所以在安装过程中没有遇到问题,看百度说有些人在安装过程中会报错,具体情况大家可以在找一下原因

使用npm安装:

npm install -S file-saver xlsx(这里其实安装了2个依赖)

npm install -D script-loader

添加js文件下载所需的两个文件:Blob.js、Export2Excel.js

下载后把他放在项目中,放在哪里都可以在,然后在main.js中引入,只有路径正确就可以

main.js全局引入Blob.js和Export2Excel.js

定义一个导出数据按钮

使用方法

exportExcel() {

require.ensure([], () => {

const { export_json_to_excel } = require("resource/plugins/excel/Export2Excel.js");

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]));

},

上面是代码可复制的,下面是图片看得比较清楚,我不知道简书为啥不能给他加样式,待我去研究...嘻嘻

数据类型

tableData: [

{ index: "0", nickName: "我的随笔", name: "小明" },

{ index: "1", nickName: "我的评论", name: "小红" },

{ index: "2", nickName: "我的参与", name: "小兰" },

{ index: "2", nickName: "最新评论", name: "小芳" },

{ index: "2", nickName: "我的标签", name: "小兵" }

]

红框即为数据类型

导出结果

导出的Excel表

如有问题欢迎大家一起交流,不喜还请各路大佬高抬贵手

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。