加QQ技术交流群741843152,一起讨论哦~~~~
欢迎访问我个人博客,里面有更多干货哟~~:点击即可访问
这段时间在做一个后台管理系统时,需要导出后台管理系统从远程服务器中获取到的所有数据。顿时有点蒙,不知道改如何下手写代码,多亏了前端交流群的一位大哥教了我方法,再此再次表示感谢,现在记录下来分享给大家,希望这篇文章对你们有所帮助,欢迎扫描左边关注个人公众号,看文章更加方便和更加及时。
老规矩,先附上官方文档的链接:https://panjiachen.github.io/vue-element-admin-site/zh/feature/component/excel.html#excel-%E5%AF%BC%E5%87%BA
在你vue项目中的分别输入以下两行代码,安装依赖
npm install xlsx file-saver -S
npm install script-loader -S -D
注意:这步很重要,步引入这两个文件,会报错的, 别问为什么知道,太不容易了哈哈哈
注:那那些table表格的代码我就不写了,根据你个人项目需求来自己写就好,在element-ui上就有相关的组件库使用。
为了页面效果更加好看一些,需要加一个导出按钮(button),并且绑定一个监听事件,如下所示
导出el-button>
tableData: [
{
id: 1,
date: "2016-05-02",
name: "王小虎",
address: "上海市普陀区金沙江路 1518 弄",
tag: "家"
},
{
id: 2,
date: "2016-05-04",
name: "王小虎",
address: "上海市普陀区金沙江路 1517 弄",
tag: "公司"
},
{
id: 3,
date: "2016-05-01",
name: "王小虎",
address: "上海市普陀区金沙江路 1519 弄",
tag: "家"
},
{
id: 4,
date: "2016-05-03",
name: "王小虎",
address: "上海市普陀区金沙江路 1516 弄",
tag: "公司"
},
{
id: 5,
date: "2016-04-02",
name: "王小虎",
address: "上海市普陀区金沙江路 1516 弄",
tag: "公司"
}
],
handleDownload() {
// this.downloadLoading = true;
import("@/vendor/Export2Excel").then(excel => {
const tHeader = ["id", "date", "name", "address", "tag"];//要导出后表头是什么,可以跟tableDate中的表头不一致
const filterVal = [
"id",
"date",
"name",
"address",
"tag"
];
const data = this.formatJson(filterVal, this. tableData)
// const data = this.tableData;
excel.export_json_to_excel({
header: tHeader,
data,
filename: "table-list" //导出文件的名,自定义就好
});
// this.downloadLoading = false;
});
},
//下载方法中,需要用到的格式化json的方法
formatJson(filterVal, jsonData) {
return jsonData.map(v =>
filterVal.map(j => {
if (j === "id") {
//此处如没有要格式化的列,可以不用此判断
// return parseTime(v[j])
return v[j];
} else {
return v[j];
}
})
);
},
https://nanxuan2020.oss-cn-hangzhou.aliyuncs.com/v2-148f2762190be75bf4090f8dcdd9e4c7_1440w.jpg
Vue.js是前端一个比较火的MVVM框架,要使用它,我们必须提前配置,其中有一种安装方式是使用npm,比较适合比较大型的应用。今天就来看看这种方式如何操作,由于npm是国外的,使用起来比较慢,我们这里使用淘宝的cnpm镜像来安装vue。
首先我们需要下载npm,因为我已经提前安装了node.js,安装包里面集成了npm,然后我们就可以利用npm命令从获取淘宝镜像的cnpm了。
npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm install vue
cnpm install -g @vue/cli