자바 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 클래스에서 어떻게 처리해야할지 알려주세요
감사합니다.