JVM/Java

[Java] POI 엑셀 다운로드 시 Invalid char (/) found at index (6) in sheet name 에러

헹창 2022. 2. 15.
반응형

[Java] POI 엑셀 다운로드 시 Invalid char (/) found at index (6) in sheet name 에러


Java 엑셀 다운로드 구현하기

 

[Java] POI 라이브러리 사용 : 엑셀 다운로드 로직 구현하기

[Java] POI 라이브러리 사용 : 엑셀 다운로드 로직 구현하기 - 의존성 추가 Spring Boot 경우 build.gradle에 Gradle dependency 추가 compile group: 'org.apache.poi', name: 'poi', version: '3.13' Spring 경..

haenny.tistory.com


 

Java에서 엑셀다운로드 로직을 구현한 뒤 실행을 했더니 다음과 같은 에러가 발생했다.

java.lang.IllegalArgumentException: Invalid char (/) found at index (6) in sheet name '노선별 시작/종료 수집율 목록'

 

 

이는 엑셀의 제한 때문에 발생한 오류이다.

실제로 엑셀에서 워크시트에 사용할 수 없는 문자가 있다.

 

 

엑셀 제한 문자

\ / * [ ] : ?

시트명에 위의 문자가 포함되었다면 치환해줘야한다.

 

시트명 치환

나는 대괄호는 소괄호로 치환해주고, 나머지 특수문자는 공백으로 치환해주는 것으로 수정하였다.

String sheetName = "시트명/뭐가올지 몰라요";

sheetName = sheetName.replaceAll("\\[", "\\(");	// 대괄호 > 소괄호
sheetName = sheetName.replaceAll("\\]", "\\)");	// 대괄호 > 소괄호
sheetName = sheetName.replaceAll("[[:]\\\\/?[*]]", " "); 	// 나머지 특수문자 > 빈값

 

 

728x90
반응형

댓글

추천 글