POI 에서 Excel업로드를 할 때 아래와 같은 형식으로 코딩한다.
(.xls일 때의 경우로 .xlsx는 방법이 약간 다르다)
sheet = workBook.getSheetAt(0);
// 생성된 시트를 이용하여 그 행의 수만큼 돌면서 행을 생성
rows = sheet.getPhysicalNumberOfRows();
for(int r = 1; r < rows; r++){
try {
row = sheet.getRow(r);
if(row == null){
break;
}
}
}
...
식으로 하는데 getPhysicalNumberOfRows() 이부분은
사용자가 엑셀을 입력한 Row의 수를 캐치하여 리턴해주는 부분이다.
허나 이부분이 간혹 사용자가 입력한 Row가 아닌데도 읽어들여
입력한 Row이상의 수를 리턴하는 경우가 종종 발생한다.
이 때 row = sheet.getRow(r); 이 부분에서 row를 가져와도
row는 null 로 나오므로 여기서 캐치하여 잘못 인식하지 않도록 처리해야된다.
관련 Article : http://tech.gaeatimes.com/index.php/archive/how-to-read-write-excel-spreadsheet-from-java/
'Java SE > java' 카테고리의 다른 글
google smtp - unknown host : smtp.gmail.com (0) | 2013.03.07 |
---|---|
Java Decompiler (0) | 2011.12.14 |
Dynamic Web Module 2.4 & EL(Expression Langugae) (0) | 2011.07.13 |
jad (java decompiler) (0) | 2011.03.16 |
java.lang.IllegalStateException: getOutputStream() has already been called (0) | 2011.03.16 |