본문 바로가기
Spring

Poi Library 오류 : The maximum column width for an individual cell is 255 characters.

by 루에 2023. 1. 13.
반응형

엑셀 다운로드를 구현하고 스타일을 적용하는 과정에서 아래 오류를 발견했다.

The maximum column width for an individual cell is 255 characters.

 

원인은, Poi 라이브러리에서 지원하는 최대 가로 길이가 255 * 256이기 때문. 255는 글자수를 의미하고 256은 엑셀파일에서 보는 기준 한글자(영어 기준)의 가로 길이다. 즉, 영문 255자까지가 허용되는 컬럼 가로 길이다.

 

해결은 단순히 최대값의 제한을 걸면 되므로 Math.min(A,B) 로 제한을 걸면 된다.

참고로 한글은 256이 아니라 512로 하면 적절하게 맞는다. 즉 한글은 122자 정도 길이가 한계라고 보면 된다.

 

이렇게 가로 길이를 제한하고 난 뒤에는 CellStyle을 이용해 wrapText = true 옵션을 활성화 하면 좋다. 자동 줄바꿈을 해준다.

 

자동줄바꿈만 되고 높이가 한줄 높이 그대로인 경우가 있다.

그런 경우 아래처럼 옵션을 주면 자동으로 맞춰준다.

currentRow.setHeight((short)-1)

SXSSFWorkbook 기준으로 잘 동작하는 것을 확인하였다.

반응형

댓글