1 packagecom.payb.hsp.bjproj.common.util;2
3 importlombok.extern.slf4j.Slf4j;4 importorg.apache.commons.lang3.time.DateFormatUtils;5 importorg.apache.poi.hssf.usermodel.HSSFDateUtil;6 importorg.apache.poi.hssf.usermodel.HSSFWorkbook;7 importorg.apache.poi.ss.usermodel.Cell;8 importorg.apache.poi.ss.usermodel.Row;9 importorg.apache.poi.ss.usermodel.Sheet;10 importorg.apache.poi.ss.usermodel.Workbook;11 importorg.apache.poi.xssf.usermodel.XSSFWorkbook;12 importorg.springframework.util.CollectionUtils;13 importorg.springframework.util.StringUtils;14
15 importjava.io.File;16 importjava.io.FileInputStream;17 importjava.io.IOException;18 importjava.io.InputStream;19 importjava.lang.reflect.Field;20 importjava.lang.reflect.Method;21 importjava.math.BigDecimal;22 importjava.math.BigInteger;23 importjava.util.ArrayList;24 importjava.util.Date;25 importjava.util.List;26 importjava.util.regex.Matcher;27 importjava.util.regex.Pattern;28
29 @Slf4j30 public classExcelUtil {31 private static final Pattern P = Pattern.compile(".0$");32
33 /**
34 * Excel表头对应Entity属性 解析封装javabean35 *36 *@paramclazz 类37 *@paramfilePath 文件路径38 *@paramexcelHeads excel表头与entity属性对应关系39 *@param40 *@return
41 *@throwsException42 */
43 public static List readExcelToEntity(Class clazz, String filePath, ListexcelHeads) {44 try{45 File file = new File(filePath);46 //是否EXCEL文件
47 checkFile(file.getName());48 //兼容新老版本
49 Workbook workbook = getWorkBoot(newFileInputStream(file), file.getName());50 //解析Excel
51 returnreadExcel(clazz, workbook, excelHeads);52 } catch(Exception e) {53 log.error("读取Excel异常:{}", e);54 return null;55 }56 }57
58 /**
59 * 解析Excel转换为Entity60 *61 *@paramclazz 类62 *@paramfilePath 文件名63 *@param64 *@return
65 *@th