最近正在完善之前和小伙伴假期做的一个项目的一些小功能,其中一个就是上传excel文件并且将excel文件中的数据导入到指定数据库中。在这其中有遇到一些很小的细节的问题,所以决定将这个实现过程记录下来。
一.基本介绍
(1)前后台分离,前端使用form表单提交,直接将文件流传递给后台,后台通过poi进行解析。
(2)在Excel中,有几个基础的概念
一个Execl就是一个Workbook
一个Sheet就是一张表格
一个Workbook可以包含多个Sheet
一行为一个Row
每一行(Row)的每一列就是一个单元格(Cell)
(3)实现思路:在读取Excel文件的过程中,我们可以首先构造一个Workbook实例,然后遍历每一个Sheet,对于每一个sheet,我们再遍历每一个row,基于预先设定好的列名,读取每个cell的值。将读取到的每一个cell值,放进预先创建好的对象实例中去。【每一个row就相当于一个实例对象】,最后我们将这些实例对象组成一个对象列表,批量插入到数据库中。
二.代码实现
1.导入依赖包以及基础配置
org.apache.poipoi3.8commons-codeccommons-codecorg.apache.poipoi-ooxml3.8commons-fileuploadcommons-fileupload1.3.3commons-iocommons-io2.5
在spring-mvc.xml中添加代码
在web.xml中央控制器中添加支持