由于工作需要设计到了解析excle文件并转换为对象的操作,但是网上找了下关于exlce解析的资料最后发现解析后的结果需要用户自己去封装对象(不开心…..)于是花点时间做一个解析excle并且封装为集合的小工具。
需要的依赖
其实就是站在巨人的肩上整合一下这个两个jar包的功能。
POI解析excle
解析核心类
package com.zfc.core;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
/**
* 解析excle转换为list<E> 这只是个基础demo如果要运用到实际生产中,
* 需要增加很多的判断(用户输入的行和列不合法,日期转化器格式化不合法等等都要考虑到)
* 这是只是把我自己的想法展示出来可以提供一个思路。
* @author 007
*
* @param <E>
*/
public class App<E> {
//转换excle文件
/**
*
* @param startRow 开始行数,从1开始,null为第一行
* @param endRow 结束行数,从1开始,null为最后一行
* @param classTest 需要装载的对象class
* @param inStream exlce的输入流
* @param mapping 对象属性和exlce列的对应关系 k:对象的属性名称; v:excle列的序号(序号从1开始)
* @return 对象集合
*/
public List<E> parseExcle(Integer startRow,Integer endRow,Class classTest ,InputStream inStream,
HashMap<Integer,String> mapping) {
List<E>list=new ArrayList<E>();
HSSFWorkbook hssfWorkbook;
try {