vue+python实现后台数据excel导出
2021/9/3 14:35:44
本文主要是介绍vue+python实现后台数据excel导出,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
废话不多直接上代码
后端代码:
@app.route('/api/user/logindownloadTemplate',methods=['get']) def downloadTemplate(): try : response = make_response(send_file('./static/file/templates/1.xlsx',as_attachment=True)) response.headers["Access-Control-Expose-Headers"] = "Content-disposition" return response
本人后台使用的flask所以直接flask自带的文件返回文件,这里需要注意设置response的headers,不然会出现编码问题。
这样的文件是文件流,到了前端不能直接下载所以前端需要处理以下
前端代码:
handleDownload() { this.$axios .get("/api/user/logindownloadTemplate", { responseType: "blob" }) .then((response) => { if (response.status === 200) { const filename = response.headers["content-disposition"] .split("filename=")[1] .split("; filename")[0]; const url = window.URL.createObjectURL(response.data); const link = document.createElement("a"); link.style.display = "none"; link.href = url; link.setAttribute("download", "导出" + filename); document.body.appendChild(link); link.click(); } }) .catch(); },
这里是将文件流转为blob格式,然后前端做处理下载下来。当然方法有很多,我这里就用隐藏的a链接下载。注意,请求一定要设置responseType: "blob"。
不同的方法这里的格式也不一样。
这篇关于vue+python实现后台数据excel导出的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-21Vue3教程:新手入门到实践应用
- 2024-12-21VueRouter4教程:从入门到实践
- 2024-12-20Vue3项目实战:从入门到上手
- 2024-12-20Vue3项目实战:新手入门教程
- 2024-12-20VueRouter4项目实战:新手入门教程
- 2024-12-20如何实现JDBC和jsp的关系?-icode9专业技术文章分享
- 2024-12-20Vue项目中实现TagsView标签栏导航的简单教程
- 2024-12-20Vue3入门教程:从零开始搭建你的第一个Vue3项目
- 2024-12-20从零开始学习vueRouter4:基础教程
- 2024-12-20Vuex4课程:新手入门到上手实战全攻略