反射解析Excelに基づく集合オブジェクトの生成
1932 ワード
マウントフロー
単一objを組み立てる
valの処理(stringとnumberのみを一時的に処理し、自分で必要なvalタイプを追加できます)
public static List
単一objを組み立てる
private static Map dataObj(Object obj, XSSFRow row) throws Exception {
Class> rowClazz = obj.getClass();
Field[] fields = FieldUtils.getAllFields(rowClazz);
if (fields == null || fields.length < 1) {
return null;
}
//
Map map = new HashMap();
// excel obj ( )
for (int j = 0; j < fields.length; j++) {
map.put(fields[j].getName(), getVal(row.getCell(j)));
}
return map;
}
valの処理(stringとnumberのみを一時的に処理し、自分で必要なvalタイプを追加できます)
public static String getVal(XSSFCell hssfCell) {
if (hssfCell != null ){
if ( hssfCell.getCellType() == HSSFCell.CELL_TYPE_STRING) {
return hssfCell.getStringCellValue().replaceAll("\\s*", "");
}
if ( hssfCell.getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {
return String.valueOf(hssfCell.getNumericCellValue());
}
return hssfCell.getStringCellValue();
}else {
return "";
}
}