052-Excel文件导入导出

前面第025中学习了批处理操作,是Excel导入的一种实现方式,注重效率,配置略微复杂。现在用比较简单的方式实现Excel导入导出操作。


Excel文件操作的第三方jar包比较经典的是poi,这里使用的是简化版的easypoi,需要引入以下jar包:

052-Excel文件导入导出_第1张图片

starter可以真正做到零配置。


新建项目依赖如下:

052-Excel文件导入导出_第2张图片


配置文件和启动类不需要改动,接下来先看导出功能,首先定义导出的数据结构:

052-Excel文件导入导出_第3张图片

@Excel注解中,name表示每一列显示的字段名称,orderNum表示排序,目前的顺序是123,表示id是第一列,name是第二列,time是第三列,width表示列宽,exportFormat表示设置时间显示格式。


增加poi工具类,增加两个方法,导出Excel第一步是创建文件,第二步下载文件:

052-Excel文件导入导出_第4张图片
052-Excel文件导入导出_第5张图片

可以看到,传入的参数都是简单易懂的,真正的导出代码就是这一行:

ExcelExportUtil.exportExcel(exportParams, pojoClass, data);

这就是easypoi简单的原因,接下来看service和接口类的调用:

052-Excel文件导入导出_第6张图片
052-Excel文件导入导出_第7张图片

启动项目,进行测试,输入ip:port/user地址,可以看到一个文件被下载:

052-Excel文件导入导出_第8张图片

打开用户日志记录的xls文件,

052-Excel文件导入导出_第9张图片

可以看到内容和格式就是我们想要的。导出功能非常简单,工具类写好以后,导出文件就是一行代码的工作。



接下来看导入,导入有两种操作,一种是直接读取文件:

052-Excel文件导入导出_第10张图片

另一种是直接读取流:

052-Excel文件导入导出_第11张图片

上面两种基本上都是一行代码完成,接下来看一下导入模型:

052-Excel文件导入导出_第12张图片

只有id和name两个字段,导入的文件内容如下:

052-Excel文件导入导出_第13张图片

接口定义:

052-Excel文件导入导出_第14张图片

启动项目,首先执行文件导入:

052-Excel文件导入导出_第15张图片

然后执行读取流导入:

052-Excel文件导入导出_第16张图片

如果正式环境中使用读取文件的方式,可以先完成文件上传,再读取,成功后清理文件。



代码地址: https://gitee.com/blueses/spring-boot-demo

你可能感兴趣的:(052-Excel文件导入导出)