streaming API를 사용한 네이버페이의 대형 XLSX 파일 다운로드 구현
(d2.naver.com)- JavaScript로 XLSX 파일 생성하기
ㅤ→ ExcelJS 를 선택 : XLSX 스트리밍 지원, 서식 제공, row 한개씩 메모리에서 flush 가능
- Java POI vs. ExcelJS
- Tomcat에서 Node.js로 데이터 주기 : spring-webflux 를 이용, Node.js로 row 한 개씩 streaming
- POI를 ExcelJS로 교체하며 발생했던 이슈
양을 알 수 없는 큰 데이터인데 db에서는 그냥 페이징(offset과 limit 같은 거겠죠?) 없이 select * 해버리고 프로듀서 쓰레드를 재웠다 깨웠다 하면서 데이터를 읽는다는 게 멋져보이면서도 그게 되나? 하는 생각이...
이 부분을 잘 알고 싶은데 대량 데이터를 읽으려면 대부분 페이징을 하라는 자료만... ^^;
관리도구에서 엑셀파일 내려받기 기능은 종종 이용하는 기능인데, ExcelJS 를 이용한 예처럼 누르자마자 다운로드가 시작되는건 사용자 경험에 정말 중요할 듯