最近用Spring Boot和Vue Element实现了一个微型项目,该项目自构思到第一个版本的实现用了1个月的时间。前端
固然大部分都是下班后,加班到11点作的;可是从功能实现到细节优化用了3个月的时间。sql
“作”是一回事,“作好”是另一回事。固然花了3倍的工做量,也不见得就作的很到位。数据库
闲话少叙,言归正传。本文介绍我用SpringBoot和Vue实现的文件上传功能。后端
1. 实话说,作一个文件上传并不难。方法无外乎利用本身之前写的代码,或者用搜索引擎参考别人的代码。优化
本文中写的方法,参考了网上的例子,参考了几篇博文(实在很差意思,当时的连接未保存),在此表示感谢,就不一一列举。搜索引擎
先上效果图:3d
点击“导入数据”,会弹出一个对话框,选择Excel文件:blog
点击“导出数据”,会从后台查询数据后生成一个Excel文件。索引
2. 前端Vue Element部分,导入经过el-upload实现,导出经过el-button实现。其中beforUpload和exportData代码以下:文件上传
3. 后端Spring boot部分,上传普通txt等文件的Controller中的方法
上传Excel文件的Controller中的方法:
业务逻辑部分对应的代码:
导出Excel对应Controller中的方法:
其中POIUtils是用来从Mysql数据库中查询数据,而后生成一个Excel文件并写到输出流中。
生成Excel用的是Apache的POI,而后参考网上实现的代码本身封装了一个Util类,其核心代码以下: