工作中需要将一个产品excel数据转化为一种grammar规则文件,就需要获取到excel的数据进行处理,现在总结下思路;
这里注明:尽量使用Apache公司下的poi包
原因:
- apache公司继续在维护;
支持2007版本以后的excel;
- javabean
- excelImportexcel工具类
- 调用的接口
- excel
1.javabean
public class LoanUseBean implements Serializable{
private String enUse;
private String chUse;
public String getEnUse() {
return enUse;
}
public void setEnUse(String enUse) {
this.enUse = enUse;
}
public String getChUse() {
return chUse;
}
public void setChUse(String chUse) {
this.chUse = chUse;
}
}
2.excel工具类
public class ExcelImpotUtils {
private static final Logger logger = LoggerFactory.getLogger(ExcelImpotUtils.class);
static private Workbook wb;
static private Sheet sheet;
/**
* @param in :承载着Excel的输入流
* @param sheetIndex :要导入的工作表序号
* @param skipRows 跳过读取的条数,默认为0
* @param entityClass :List中对象的类型(Excel中的每一行都要转化为该类型的对象)
* @param fieldMap :Excel中的中文列头和类的英文属性的对应关系Map
* @param fileName :文件名
* @return :List
* @throws ServiceException
* @MethodName : excelToList
* @Description : 将Excel转化为List
*/
public static <T> List<T> excelToList(InputStream in, int sheetIndex, int skipRows, Class<T> entityClass,
List<FieldDefine> fieldMap, String fileName) throws ServiceException {
// 定义要返回的list
List<T> resultList = new ArrayList<>();
try {