/** * 判断excel标题与对象的标签标题是否一致 * * @param titleRow 开始行 * @param clz 对象 * @return 判断类型 */ private Map<Integer, String> getHeaderMap(Row titleRow, Class clz) { List<ExcelHeader> headers = getHeaderList(clz); // 取后台标题 Map<Integer, String> maps = new HashMap<Integer, String>(); for (Cell c : titleRow) { String title = c.getStringCellValue(); // 取excel的标题栏 for (ExcelHeader eh : headers) { if (eh.getTitle().equals(title.trim())) { // 相等则设定对应的字段顺序与方法名 maps.put(c.getColumnIndex(), eh.getMethodName().replace("get", "set")); break; } } } return maps; }
/** * 根据标题获取相应的方法名称 * * @param eh * @return */ private String getMethodName(ExcelHeader eh) { String mn = eh.getMethodName().substring(3); mn = mn.substring(0, 1).toLowerCase() + mn.substring(1); return mn; }