Apache POI sheet.autoSizeColumn() Speed Up
·
Kotlin
문제 Ajax 를 이용하여 300건 정도의 데이터를 Apache POI 를 이용하여 엑셀 파일 생성 중 Ajax timeout 을 10초로 해 두었는데 timeout 이 발생하여 원인을 확인한 결과 sheet.autoSizeColumn() 함수 처리에 시간이 오래 걸리는 현상을 발견 해결방법 row 마다 컬럼의 문자열 길이를 이용하여 너비를 가중치를 이용하여 늘려주는 방식 문자열 길이 최대 70 까지만 적용되도록 함 ( 문자열 길이가 너무 길어지면 너비가 너무 커짐 방지 ) fun setColumnSize(sheet: XSSFSheet, index: Int, value: String) { val defaultColumnWidth = 2048 val maxLength = 70 val characterWid..