IT

jxl (Java Excel Library) 를 이용한 기존 xls 파일을 복사하여 사용하기

Dante2k™ 2013. 10. 2. 12:55
반응형

 개발중 정리된 정보를 excel 파일로 변환하여 데이터를 추출가공하는 부분이 있어서 정리합니다.


 일반적으로 사용할 엑셀파일을 서식과 포맷을 정의한 temp 엑셀파일을 생성해서 저장후 이를 꺼내서 데이터만 cell 에 입력하고, 이파일을 저장하는 방법으로 많이 사용하게 됩니다. (직접적으로 cell 단위 서식까지 신경써가면서 작업하기에는 코딩이 너무 많아 집니다.)


 하여~

 서식이 정의된 temp 엑셀파일(temp.xls로 하겠습니다.)을 복사하여 사용하는 방법을 적어보겠습니다.


 간단한 테스트 코드이므로 응용하는 방식은 개발자에 따라 달라질 수 있습니다. (여기서는 제가 진행한 안드로이드 코드를 기반으로 합니다.)




 위에 보이는 같이 적당한 곳에 서식이 정의된 temp_log.xls 파일을 저는 assets 폴더에 저장해 놓았습니다. (안드로이드의 경우 assets에 대한 접근이 생각보다 손쉽기때문입니다.)


 자 코드는 다음과 같습니다.



try {
	// 외장메모리에 엑셀파일을 저장하기 위한 디렉토리
	String strDir = Environment.getExternalStorageDirectory().getAbsolutePath() + "/TEST/";
	// 새로 생성하는 엑셀파일명
	String strFileName = "copyedTempLog.xls";

	// assets/excel/temp_log.xls 파일을 로딩합니다.
	Workbook tempWorkbook = Workbook.getWorkbook(mContext.getAssets().open("excel/temp_log.xls"));
	
	// WritableWorkbook 을 temp_log.xls 파일을 기반으로 동일하게 생성합니다.
	WritableWorkbook writableWorkbook = Workbook.createWorkbook(new File(strDir, strFileName), tempWorkbook);
	
	/** 이후 엑셀파일에 데이터를 입력하는 작업 진행 */
	
	// 신규생성한 엑셀파일을 실제로 지정된 파일에 쓰기 후 닫기
	writableWorkbook.write();
	writableWorkbook.close();
	tempWorkbook.close();
} catch (Exception e) {
	e.printStackTrace();
}


 간단히 이미 작성된 xls 파일을 기반으로 새로운 xls 파일을 작성하는 방법을 알아보았습니다. 끝.

반응형