POI解析Excel之应用反射等技术实现动态读取 (2)

  前提条件:因为要实现动态解析,动态设置值,那么我们在反射执行set操作的时候就需要知道相应的setMethod(),那么我们可以在Excel规定第一行就是属性字段,并且字段名称跟bean的名称一样,读取的时候先把第一行的数据放在一个String []数组中。具体实现请参照以下源码。我已经把相关代码打包成Jar,需要的朋友可以自行下载;Jar包下载链接:https://pan.baidu.com/s/1fKCCh54S3ZtHfv66T2pk2w 密码:nur8

  使用方法:新建bean用于存储Excel数据信息,每个属性需要有get、set操作,属性与Excel首行相同,最重要的一点是要实现Clonesble接口重写clone方法。在new ReadExcelUtil 的时候只需要将对象类型与Excel文件路径传入构造函数即可,然后调用 ReadExcelUtil的getObjectList即可得到解析后的所有对象。至于这个对象你可以用任何的对象,你可以换成Teacher、OrderInfo、UserInfo......但是前面提到的:Excel第一行的属性字段需要与bean的属性字段一致,否则无法调用目标方法,具体可参见ReflectionInitValue的方法。具体实现请参见:文章末尾的Test类测试。 

 

 

 源码分析

前提条件:引入Apache POI 的Maven仓库坐标,我这里使用的是3.25版本的。

 


1
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi --> 2 <dependency> 3 <groupId>org.apache.poi</groupId> 4 <artifactId>poi</artifactId> 5 <version>3.15</version> 6 </dependency> 7 <dependency> 8 <groupId>org.apache.poi</groupId> 9 <artifactId>poi-ooxml</artifactId> 10 <version>3.15</version> 11 </dependency>

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wppwjy.html