nineDeveloper
2015. 3. 9. 10:44
자바에서 Excel을 다루기 위한 API가 몇가지 존재하는게 그중 하나가 POI다.
POI는 자카르타 프로젝트 중의 하나로 Microsoft Format File을 액세스 할 수 있는 API를 제공하고 있다.
POI안에는 몇가지 컴퍼넌트들이 있다
- POIFS
Microsoft의 OLE2 포맷 형식의 문서를 자바로 읽고 쓸수 있다 기본적으로 POI의 모든 컴퍼넌트들이 POIFS를 사용한다.
- HSSF
엑셀파일을 읽고 쓸수 있도록 지원한다.
- HWPF
워드파일을 읽고 쓸수 있도록 지원한다.
- HPSF
Microsoft의 OLE2 포맷 형식의 문서 속성을 어플리케이션에서 사용 할수 있도록 지원한다.
우선 아파치 자카르타 프로젝트중에서 POI를 찾아 다운받자.
(http://www.apache.org/dyn/closer.cgi/poi/release/bin/poi-bin-3.6-20091214.zip)
다음은 HSSF를 사용하여 엑셀파일을 만드는 간단한 예제이다.
package ahope.test.poi;
import java.io.FileOutputStream; import java.io.IOException;
import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook;
public class poi { public static void main(String[] args) { // c드라이브 밑에 write라는 엑셀 파일을 만들어주겠다
String filepath = "C:\\write.xls"; //워크북 생성 HSSFWorkbook workbook = new HSSFWorkbook(); //워크 시트생성 HSSFSheet sheet = workbook.createSheet("sheet name"); //행 생성 HSSFRow row = sheet.createRow(0); //셀 생성 HSSFCell cell = row.createCell(0); //셀값 입력 cell.setCellValue("test!");
FileOutputStream fs = null; try { //파일로 저장 fs = new FileOutputStream(filepath); workbook.write(fs); fs.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } |
이밖에 POI를 사용한다면 셀을 합친다거나, 셀의 스타일 속성을 부여하는 등의 여러가지 작업이 가능하다.
이러한 POI의 더 많은 기능들을 알고 싶다면 http://poi.apache.org/spreadsheet/quick-guide.html 을 참조하자