ExcelUtil 借助反射和 POI 对 Excel 读取,省略了以往读取 Excel 的繁琐步骤,调用 ExcelUtil 只需要2步,对,你没有看错,2步足以读取到 Excel 的内容。自动赋值,传入对应Model所在路径,即可自动赋值.自动匹配数据类型String,Int,Long,Date,Double等,精准定位报错信息.
使用场景:
可以想一下我们现在有个Excel导入任务,比如是导入一个班级的学生花名册,比如学生这个实体类是Student.java 一般的导入是需要每行每列对Excel进行遍历,然后给Student的各个属性进行赋值,然后如果碰到Teacher.java需要导入,难道还要在写一遍遍历?代码又臭又长不说,而且代码冗余很多,现在借助ExcelUtil这个公共类,可以实现优雅,容易的读取.兼容03,07版Excel.大家项目中直接引入maven就可以了.
一、导入调用步骤:
1.本地方式读取
String keyValue ="手机名称:phoneName,颜色:color,售价:price"; List list=ExcelUtil.readXls("C://test.xlsx",ExcelUtil.getMap(keyValue),"com.lkx.model.PhoneModel")
2.流方式读取
String keyValue ="手机名称:phoneName,颜色:color,售价:price,时间:sj"; Listlist = ExcelUtil.readXls(file.getBytes(), ExcelUtil.getMap(keyValue), "com.lkx.model.PhoneModel");
二、导出调用步骤
1.模拟导出到磁盘位置
List list = new ArrayList();//假装这是一个有数据的集合 String keyValue ="手机名称:phoneName,颜色:color,售价:price"; ExcelUtil.exportExcel("d:/testsss.xls",keyValue,list,"com.lkx.model.PhoneModel");
2.在浏览器中直接输出
List list = new ArrayList();//还是假装这是一个有数据的集合 String keyValue ="手机名称:phoneName,颜色:color,售价:price"; ExcelUtil.exportExcelOutputStream(response,keyValue,list,"com.lkx.model.PhoneModel","fileName");
其中fileName参数可以省略,省略会以当前时间的年月日时分秒作为文件名称。
这里的response需要调用类传进来,一般是controller(HttpServletResponse response)。
POM引入
net.oschina.likaixuan excelutil 2.0.1