사용자 도구

사이트 도구


java:poi

문서의 이전 판입니다!


Apache POI MS Office Document

Excel

SXSSFWorkbook

  • SXSSFWorkbook를 사용하면 MS Office 2007 OOXML 형태로 엑셀 파일을 생성하며,
  • 생성중 데이터를 임시로 디스크에 기록하는 방식으로 메모리를 아낄 수 있다.
    • 임시 파일로 저장하는 것이지 지정된 OutputStream으로 스트리밍하는 것이 아니다.
  • 임시 저장용 파일을 꼭 SXSSFWorkbook.dispose()를 호출하여 삭제해줘야 한다.

Excel 버전에 무관하게 읽기

POI Memory Leak

java.io.DeleteOnExitHook 객체가 잔뜩 생성되면서 Leak 이 되는 현상이 발생한다. 이는 POI 에서 임시로 생성한 파일을 JVM 종료시 삭제하라는 Hook 객체이다.

해결하려면 poi.keep.tmp.files System Property를 설정해주어야 한다. 값은 비워두어도 된다.

System.setProperty("poi.keep.tmp.files", "");
java/poi.1476059568.txt.gz · 마지막으로 수정됨: 2016/10/10 09:02 저자 kwon37xi