使用环境
后端:SpringCloud 前端LayUI
一、LayUI upload实现文件上传
在LayUI官网使用Upload内置模块来接收文件
LayUI官网:https://www.layui.com/
前端代码如下:
二、后端代码
后端代码很简单一共分为三步
第一步,导入依赖
导入依赖没得什么好说的,导入后刷新一下Maven下载后依赖就行。
第二步,实体类加上@Excel注解
EasyPOI有五个注解提供使用,不过一般导入用@Excel就足够了,它是用来生成Excle里的每个对应列名的。
@Excel注解常用参数有name、replace。name用来描述列名(也就是指向生成列名) replace是替换,看下面代码很容易就理解。不需要生成Excle列名的字段不添加@Eexcel就行了。
第三步,编写导入代码
导入代码的话,在官方文档上copy一下就行了,也没什么太多要讲的,
要注意的是,在实际开发过程中要读取的Excel文件肯定不是固定的,所以在导入代码里要加上
@RequestParam MultipartFile file 参数
用它来接收前台传过来的文件,再用MultipartFile的getInputStream()获取前端文件的输入流。放在ExcelImportUtil.importExcel里,执行方法就成了。
三、水话
这也是我第一次写关于Excel导入导出的功能,在开始做的时候,其实是有关于导入导出的demo可以借鉴,但由于里面的代码又长又臭,怎么都没看得下来,后面在网上看见EasyPOI对POI进行了封装使用起来很简单就直接用EasyPOI来做了,在做的第一天的时候其实就把功能实现了,但用在项目里因为项目是比较大而且接手过的人也挺多,在导入依赖的时候出现了依赖冲突的问题,建议大家在实际使用的时候先看项目里从前有没有使用过EasyPOI依赖在做使用,要不然出现依赖冲突还是很烦的。另外就是学习一个没用过的技术最好就是查看它的官方文档来使用,最后再把官方的链接放在最后,谢谢大家。
官方链接:http://easypoi.mydoc.io/#category_50222
四、EASYPOIDE的坑
现在已经是2022年的4月中旬了,今天想起easypoi遇到几次的坑,在这给自己一个提醒,这个坑也就是在导入时有时会遇到部分字段导入失效的问题。
解决办法很简单就是用esaypoi的导出功能来导出一个自己想要的模板,而不要自己在WPS里自己去做模板,导入部分字段失效的原因是因为esaypoi是对poi的封装,虽然esaypoi是国内封装的,但poi是国外的,国外使用的是offers,国内是wps,所以就可能出现这个问题,所以解决办法要么就是用offers去制作模板,要么就是要导出功能来导出一份