'엑셀'에 해당되는 글 2건

  1. 2011.10.30 ORANGE for ORALCE 에서 엑셀 파일 업로드
  2. 2011.10.27 [자바] 엑셀을 List로 변환

1. tools > loader 를 클릭하면 DBMS 로그인을 한다.

  ==> DBMS 에 로그인 해야 하는 이유는 어디에 붙일 것이냐? 즉 TARGET을 잡기 위함이다.

 

2. 우선 스키마가 자동으로 선택이 되었고, 해당 DB명에 대한 테이블 리스트를 찾을 수 있을 것이다.

  ==> 즉 어떤 테이블에 넣을 것이냐를 선택하는 것이다.

  ==> 선택하고 나면 우측에 테이블 명세 리스트가 보일 것이다.

 

3. Data File 이라는 컨트롤 에서 찾아보기 버튼을 클릭하면 파일을 찾는 팝업이 나타날 것이다.

  ==> 원본이 되는 엑셀파일을 하나 찾는다.

  ==> 하단에 엑셀 로우데이터가 15라인 보여진다.

 

4. File Column 버튼을 클릭하여 컬럼 순서와 컬럼 수가 맞는지 확인 한다. (옵션)

 

5. Action > Run을 실행한다.

 

[주의사항]

1. 엑셀 데이터 중에 특정 컬럼이 날짜 형식이 있을 경우, 오랜지에서 로드 시, 그대로 날짜 형식으로 보여지는 것이 아닌 계산?되어 보여질 수 있으며, 자료형이 맞지 않다고 로딩 실패 할 수 있다.

 

  ==> 이 경우에는 엑셀파일에서 미리 해당 날짜 타입의 데이터만 스트링으로 바꿔주는 것이 좋다.

  ==> 대부분 전체를 스트링(텍스트)로 바꿔주는 것도 연속된 오류를 방지하는 방법중에 하나이다.

 

[참고사항]

3.0.* 버젼에서는 날짜데이터 등의 자동변환이 잘 되지 않았으나 3.1 버젼으로 패치하고 나서 잘 되었다.

Posted by bestrok
,


/*

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

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

*/

 


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