|
|
|
|
|
|
excel업로드 java에서 읽기, 엑셀 파일 db로 등록.
다음은 jxl 컴포넌트를 이용한 엑셀파일 업로드구현이다.
excel파일을 업로드해서 컨트롤러단에서 읽고 필요한 시트나 셀의 데이타를
일괄적으로 DB에 등록시키는데 유용함.
jxl.jar파일 첨부함.
단, 엑셀 확장자는 xls만 가능하며 xlsx확장자는 poi 컴포넌트를 이용해야 가능.
처음으로 구현해봤는데 처음에는 버벅거리다가 제대로 되니까 기분이 좋음
try{
// FileInputStream클래스의 인스턴스화 하여 파일객체를 얻어온다.java.io.FileInputStream fi = new java.io.FileInputStream(new java.io.File(파일경로));
Workbook workbook = Workbook.getWorkbook(fi);Sheet sheet = workbook.getSheet(0); // 첫번째 시트를 얻어옴
int rows = sheet.getRows();
for(int h=1 ; h < rows; h++){
Cell a = null; //첫번째 셀Cell b = null; //두번째 셀Cell c = null; //세번째 셀
String aCell = "";String bCell = "";String cCell = "";
a = sheet.getCell(0,h);aCell = a.getContents();
b = sheet.getCell(1,h);bCell = b.getContents();
c = sheet.getCell(2,h);cCell = c.getContents();
// branchInfoVO는 컬럼매핑(세터와 게터가 있는 클래스임)
branchInfoVO.setCode(aCell); branchInfoVO.setBranchName(bCell);branchInfoVO.setUseYn(cCell);
// 리스트를 조회해서 isCode 가 널이 아니면 업데이트를 실행
List isCode = branchInfoService.branchInfoisCode(branchInfoVO);
if ((isCode != null) || (isCode.size() != 0)){log.info(h+".수정=> "+ aCell);// 이부분은 스프링프레임워크시 DB로 업데이트문을 실행시키는 메소드임
branchInfoService.updateBranchExcel(branchInfoVO);}else{//아무작업없음
}
}
fi.close(); // 생성된 파일객체를 닫아줌 ( 닫지 않는 상태면 파일 삭제가 안됨 )}catch(Exception e){log.error(e.getMessage(), e);return "";}
'Programming > Java' 카테고리의 다른 글
| JAVA 한글 인코딩 파일 입출력 - UTF-8 방식과 MS949, EUC-KR (0) | 2015.12.21 |
|---|---|
| 엑셀 업로드후 DB에 저장이 끝난 후 파일 삭제 (0) | 2015.12.21 |
| 문자열 포함여부 확인(검색)방법 - contains, indexOf, matches (0) | 2015.12.16 |
| 문자열 나누기(분리하기) - StringTokenizer, split (0) | 2015.12.16 |
| 텍스트 파일 생성 (FileWriter, BufferedWriter) (0) | 2015.12.15 |
|
|
|
|
|
|

