/*
메서드 부분만 정의하였습니다.
에러나는 부분은 임포트 하여 사용하세요.
*/
/**
* 특정 엑셀 파일을 List에 Object[]로 컨버트 한다.
* @param FileName 불러들일 엑셀 파일명
* @param SheetNum 불러들일 엑셀 시트 인덱스
* @return Hash(key 는 각 셀번호가 된다.) 로 묶인 Vector Data
*/
public List getExcel2List(String FileName, int SheetNum){
List lst = new ArrayList();
try{
POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(FileName));
HSSFWorkbook wb = new HSSFWorkbook(fs);
HSSFSheet sheet = wb.getSheetAt(SheetNum);
Iterator iter = sheet.rowIterator();
while(iter.hasNext()){
HSSFRow row = (HSSFRow)iter.next();
HashMap tdHash = new HashMap();
//Object[] objs = new Object[row.getPhysicalNumberOfCells()];
//System.out.println(row.getPhysicalNumberOfCells());
Iterator cellIter = row.cellIterator();
while(cellIter.hasNext()){
HSSFCell cell = (HSSFCell)cellIter.next();
Object obj = null;
int celltype = cell.getCellType();
switch(celltype){
case HSSFCell.CELL_TYPE_STRING :
obj = cell.getStringCellValue();
break;
case HSSFCell.CELL_TYPE_NUMERIC :
obj = new Double(cell.getNumericCellValue());
break;
case HSSFCell.CELL_TYPE_BOOLEAN :
obj = new Boolean(cell.getBooleanCellValue());
break;
case HSSFCell.CELL_TYPE_ERROR :
obj = new Byte(cell.getErrorCellValue());
break;
default :
//obj = null;
obj ="";
break;
}
tdHash.put(new Short(cell.getCellNum()), obj);
}
lst.add(tdHash);
}
System.out.println("###################");
System.out.println("lst:"+lst.toString());
System.out.println("###################");
}catch(Exception e){
e.printStackTrace();
}
return lst;
}
'IT > 프로그래밍' 카테고리의 다른 글
[VB] Far Point Spread Sheet Action 정리 (from devpia) (0) | 2011.10.27 |
---|---|
[자바] List 중복제거 (Distinct List) (0) | 2011.10.27 |
[스트럿츠] 이클립스 시스템 상세 로그를 보려면... (0) | 2011.10.27 |
log4sql.jar SQL 로깅 기능 개선 (0) | 2011.10.27 |
FSO 폴더 자동생성 (0) | 2011.10.27 |