자바 반사 처리 excel 데이터 가져오기 예시
2380 단어 excel 가져오기반사로 excel 데이터 가져오기
public class ExcelImportUtils{
private static final Logger log = Logger.getLogger(ExcelImportUtils.class);
public static <T> Object handlerExcel(String pathname,String classpath,
int row,int cloNum) throws ClassNotFoundException,
InstantiationException,IllegalAccessException{
Class model = Class.forName(classpath);
T mobject = (T)model.newInstance();
try{
Workbook book = Workbook.getWorkbook(new File(Global.UPLOAD_FOLDER
+ File.separator + pathname));
Sheet sheet = book.getSheet(0);
int rows = sheet.getRows();
for (int j = row;j < rows;j++){
// Cell[] cell = sheet.getRow(j);
// for (int i = 0;i < cell.length;j++){
// getCell( , )
/**
* @author wzx java , ,setter/getter
*/
Field[] field = model.getDeclaredFields(); // , Field
// Method[] method=model.getDeclaredMethods();
try{
String name = field[j - row].getName(); //
name = name.substring(0,1).toUpperCase()
+ name.substring(1);
String type = field[j - row].getGenericType().toString(); //
if (type.equals("class java.lang.Integer")){
Method m = model.getMethod("set" + name,Integer.class);
m.invoke(mobject,Integer.valueOf(sheet
.getCell(cloNum,j).getContents()));
}
if (type.equals("class java.lang.Double")){
Method m = model.getMethod("set" + name,Double.class);
m.invoke(mobject,Double.valueOf(sheet.getCell(cloNum,j)
.getContents()));
}
if (type.equals("class java.lang.String")){
Method m = model.getMethod("set" + name,String.class);
m.invoke(mobject,sheet.getCell(cloNum,j).getContents());
}
}
catch (NoSuchMethodException e){
e.printStackTrace();
}
catch (SecurityException e){
e.printStackTrace();
}
catch (IllegalAccessException e){
e.printStackTrace();
}
catch (IllegalArgumentException e){
e.printStackTrace();
}
catch (InvocationTargetException e){
e.printStackTrace();
}
}
// }
//
book.close();
}
catch (BiffException e){
log.info(" *****************");
log.error(e.getMessage(),e);
e.printStackTrace();
}
catch (IOException e){
log.error(e.getMessage(),e);
e.printStackTrace();
}
return mobject;
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
대용량 Excel 파일 읽기(50w+ 지원) (3)1 온라인 메모리 넘침 문제 프레젠테이션 환경 준비 큰 excel 파일 준비(xlsx 크기 10M 이상) jvm의 heap를 500m로 축소(JVM 매개변수-Xmx500m) 아날로그 OOM 에 사용 매개변수를 사용하...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.