/*

메서드 부분만 정의하였습니다.

에러나는 부분은 임포트 하여 사용하세요.

*/

 


 /**
  * 특정 엑셀 파일을 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;
 }


Posted by bestrok
,