前面第025中学习了批处理操作,是Excel导入的一种实现方式,注重效率,配置略微复杂。现在用比较简单的方式实现Excel导入导出操作。
Excel文件操作的第三方jar包比较经典的是poi,这里使用的是简化版的easypoi,需要引入以下jar包:
starter可以真正做到零配置。
新建项目依赖如下:
配置文件和启动类不需要改动,接下来先看导出功能,首先定义导出的数据结构:
@Excel注解中,name表示每一列显示的字段名称,orderNum表示排序,目前的顺序是123,表示id是第一列,name是第二列,time是第三列,width表示列宽,exportFormat表示设置时间显示格式。
增加poi工具类,增加两个方法,导出Excel第一步是创建文件,第二步下载文件:
可以看到,传入的参数都是简单易懂的,真正的导出代码就是这一行:
ExcelExportUtil.exportExcel(exportParams, pojoClass, data);
这就是easypoi简单的原因,接下来看service和接口类的调用:
启动项目,进行测试,输入ip:port/user地址,可以看到一个文件被下载:
打开用户日志记录的xls文件,
可以看到内容和格式就是我们想要的。导出功能非常简单,工具类写好以后,导出文件就是一行代码的工作。
接下来看导入,导入有两种操作,一种是直接读取文件:
另一种是直接读取流:
上面两种基本上都是一行代码完成,接下来看一下导入模型:
只有id和name两个字段,导入的文件内容如下:
接口定义:
启动项目,首先执行文件导入:
然后执行读取流导入:
如果正式环境中使用读取文件的方式,可以先完成文件上传,再读取,成功后清理文件。
代码地址: https://gitee.com/blueses/spring-boot-demo