게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
(본삭금)자바 클래스간 변수 공유 질문입니다.
게시물ID : programmer_11525짧은주소 복사하기
작성자 : 간단하게
추천 : 0
조회수 : 472회
댓글수 : 1개
등록시간 : 2015/06/23 10:40:00
옵션
  • 본인삭제금지
자바 POI 라이브러리를 사용해서 excel데이터를 db에 저장하는 소스를짜고있는데... 생성자를 이용해서 cell을 핸들하려고합니다.
그런데 Poi에서 제공하는 row를 클래스간 변수 공유를 하고싶은데 방법을 모르겠네요 초짜라서.. 소스를 동봉하오니 도움을 주시면감사하겠습니다.

//sheet에서 cell을 받아와서 디비에 넘겨주는 부분, String s0 = ch.getString0(); 다른클래스에서 이부분을 만들어야하는데..
===================main 클래스 일부분=================
 PreparedStatement pstm1 = null ; 
        FileInputStream input = new FileInputStream("C:/Users/hyunwoo/Downloads/Personal Contacts.xls");  
        POIFSFileSystem fs = new POIFSFileSystem( input );  
 HSSFWorkbook wb = new HSSFWorkbook(fs);  
        HSSFSheet sheet = wb.getSheetAt(0); 
        Row row;

for(int i = sheet.getFirstRowNum(); i<=sheet.getLastRowNum(); i++){
    row = sheet.getRow(i);
   
    Cell c0 = row.getCell(0);
    Cell c1 = row.getCell(1);
    Cell c2 = row.getCell(2);
   
    ch = new CellHandler(c0, c1, c2);
   
   
    String s0 = ch.getString0();
    String s1 = ch.getString1();
    String s2 = ch.getString2();
   
    System.out.println(s0);
   
          pstm.setString(1, s0);
               pstm.setString(2, s1);
               pstm.setString(3, s2);
           
               pstm.execute();
               pstm.clearParameters();
               System.out.println("Import rows "+i);
           // Do something useful with the cell's contents
        }

public class CellHandler {
PreparedStatement pstm = null ;
Row row;

public Row getRow() {
return row;
}

public void setRow(Row row) {
this.row = row;
}

//생성자를 이용해 셀을 핸들하는 부분
============================== cellhandle클래스=============
public CellHandler(Cell a, Cell b, Cell c) {
String cella = a.getStringCellValue();
String cellb = b.getStringCellValue();
String cellc = c.getStringCellValue();
String sumst = cellb + cellc;
if(sumst.equals(cella)){
System.out.println("굿잡");
}
}
public String getString0() {
return row.getCell(0).getStringCellValue();
}
public String getString1() {
return row.getCell(1).getStringCellValue();
}
public String getString2() {
return row.getCell(2).getStringCellValue();
}
}

stl문을 이용해서 변수 공유하는건 할 수 있는데...메모리 비효율이고

row는 또 static도 먹지 않아서 공유하기도 쉽지않고

String s0 = ch.getString0();이 부문을 cellhandle 클래스에서 어떻게 처리해야할지 알려주세요

감사합니다.
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호