* JAVA 구조는 다음과 같은 패키지로 이루어져 있답니다.
* (최상위 data 패키지가 빠졌네요 ^^;)
* Import 할 때의 console log 로 찍어본 내용 입니다.
*. EXCEL 의 데이터 내용 입니다
(첫번째 컬럼은 데이터 컬럼을 명시해 주기 때문에 데이터를 넣을때에 0 번째 row 는 skip 하도록 합니다~! ^-^ )
자, 그럼 Source 의 설명은....
각 exporter 패키지의 클래스는 ExcelExporter 를 상속 받고,
또한 importer 패키지의 클래스들은 ExcelImporter 클래스를 상속 받아 쓸 것 입니다.
이 패키지에 명시한 DB JDBC 정보가 있으오니, 이에대한 정보를 변경하여 주시기 바랍니다.
1. ExcelExporter , ExcelImporter ( ex> 오라클 DB 기준 )
protected String jdbcDriver = "oracle.jdbc.driver.OracleDriver";
protected String jdbcUrl ="jdbc:oracle:thin:@호스트아이피:DB포트:SID";
protected String jdbcUsername = "사용자계정아이디";
protected String jdbcPpassword = "사용자계정 패스워드";
protected String jdbcUrl ="jdbc:oracle:thin:@호스트아이피:DB포트:SID";
protected String jdbcUsername = "사용자계정아이디";
protected String jdbcPpassword = "사용자계정 패스워드";
2-1 . Import 할 파일을 하나 만듭니다 ( ex> IMP_STTM012.java 파일 )
processRow 메소드에서 각 excel 의 값을 vo 에 담습니다.
.................. 중략 ...........................
// import 할 excel 파일명
// 파일 위치를 정의해 줍니다.
static String fileName = "D://temp//excel_import//SSTM012.xls";
// insert 할 쿼리문과 update 할 쿼리문을 만듭니다.
String updateSql = " " ;
String insertSql = " ";
............................ 중략 ..............................
/**
* 실질적으로 돌아가는 프로세스
* 1. VO 를 생성하여 Excel 의 셀 내용을 타입에 따라 담는다.
* 2. 프로세스 메소드 호출
*/
public boolean processRow(HSSFRow row) throws Exception {
Vo vo = new Vo();
vo.setSystemCd(getString(row, 0));
vo.setUnitBussCd(getString(row, 1));
vo.setSmUnitBussCd(getString(row, 2));
vo.setSmUnitBussId(getString(row, 3));
vo.setSmUnitBussNm(getString(row, 4));
vo.setUseYn(getString(row, 5));
vo.setDispOrd(getInt(row, 6));
process(vo);
return true;
}
// import 할 excel 파일명
// 파일 위치를 정의해 줍니다.
static String fileName = "D://temp//excel_import//SSTM012.xls";
// insert 할 쿼리문과 update 할 쿼리문을 만듭니다.
String updateSql = " " ;
String insertSql = " ";
............................ 중략 ..............................
/**
* 실질적으로 돌아가는 프로세스
* 1. VO 를 생성하여 Excel 의 셀 내용을 타입에 따라 담는다.
* 2. 프로세스 메소드 호출
*/
public boolean processRow(HSSFRow row) throws Exception {
Vo vo = new Vo();
vo.setSystemCd(getString(row, 0));
vo.setUnitBussCd(getString(row, 1));
vo.setSmUnitBussCd(getString(row, 2));
vo.setSmUnitBussId(getString(row, 3));
vo.setSmUnitBussNm(getString(row, 4));
vo.setUseYn(getString(row, 5));
vo.setDispOrd(getInt(row, 6));
process(vo);
return true;
}
3. Value Object Class 를 하나 만듭니다. ( Ex>Vo.java 파일 생성 )
( 각 변수명과 getter / setter 를 만듭니다 )
................................... 중략 ...................................
private String systemCd; // 시스템코드
private String unitBussCd; // 단위업무코드
private String smUnitBussCd; // 소단위업무코드
private String pgmCd; // 프로그램코드 (PK)
// Getter and Setter 메소드 생성
public String getSystemCd() {
return systemCd;
}
public void setSystemCd(String systemCd) {
this.systemCd = systemCd;
}
................................... 중략 ...................................
private String systemCd; // 시스템코드
private String unitBussCd; // 단위업무코드
private String smUnitBussCd; // 소단위업무코드
private String pgmCd; // 프로그램코드 (PK)
// Getter and Setter 메소드 생성
public String getSystemCd() {
return systemCd;
}
public void setSystemCd(String systemCd) {
this.systemCd = systemCd;
}
................................... 중략 ...................................
2-2 . Export 를 실행할 파일을 만듭니다. ( Ex > EXP_SSTM012.java )
public static void main(String[] args) {
// 쿼리를 실행할 구문을 만듭니다 (String 을 써도 무관합니다.)
StringBuffer sql = new StringBuffer();
sql.append(" SQL 구문 ");
EXP_SSTM012 ex = new EXP_SSTM012();
// sql 내용과, 엑셀파일이 저장될 경로와 파일명을 넘깁니다.
ex.export(sql.toString(), "D://temp//excel_export//EXP_SSTM012.xls");
StringBuffer sql = new StringBuffer();
sql.append(" SQL 구문 ");
EXP_SSTM012 ex = new EXP_SSTM012();
// sql 내용과, 엑셀파일이 저장될 경로와 파일명을 넘깁니다.
ex.export(sql.toString(), "D://temp//excel_export//EXP_SSTM012.xls");
}
나머지 DBUtil.java 파일과 ExcelExport 와 ExcelImporter 부분은 코멘트를 달아 놓았으니 참고하여 보시기 바랍니다.
JAVA 프로젝트 Encoding 타입은 UTF-8 입니다. ^^
한글 코멘트가 깨졌다면, Resource Type 을 확인하세요! ^-^
'JAVA' 카테고리의 다른 글
[알고리즘] ArrayList 와 LinkedList 의 차이 (0) | 2012.03.12 |
---|---|
[JAVA] list to list 모든 결과물 List 의 ArrayList 로 담기 (0) | 2011.06.27 |
[JAVA] 자바로 월 끼리의 값 차이 구하기 (0) | 2011.06.27 |
[JAVA] 쿼리 질의시 where 절 option 선택하게끔 하기. (1) | 2011.06.27 |
[JAVA] JAVA MAIL API (0) | 2011.06.27 |