티스토리 뷰

대용량 엑셀 파일 다운로드 코드 작성 시, 문제가 되었던 적이 있다.

rows가 적을 경우에는 문제가 없으나, 10만 row 이상의 데이터를 엑셀에 쓰다보면 메모리 문제가 발생..

java.lang.OutOfMemoryError ...

 

관련 레퍼런스를 찾아본다.

https://poi.apache.org/apidocs/dev/org/apache/poi/xssf/streaming/SXSSFSheet.html

 

 

SXSSFSheet (POI API Documentation)

Set row groupings (like groupRow) in a stream-friendly manner groupRows requires all rows in the group to be in the current window. This is not always practical. Instead use setRowOutlineLevel to explicitly set the group level. Level 1 is the top level gro

poi.apache.org

아파치에서는 다양한 기능을 제공하는데 그 중 하나가 바로 SXSSFWorkbook 이다.

XSSF와 HSSF의 차이만 알고있었기에 S가 추가된 SXSSF에 대해 간단하게 정리한다.

 

코드는 아래와 같다.

 

** 표시된 부분이 핵심.

기존 워크북 선언과 로우, 셀의 선언은 XSSF와 동일하다.

 

댓글