반응형
[Java] POI 엑셀 다운로드 시 Invalid char (/) found at index (6) in sheet name 에러
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
반응형
'JVM > Java' 카테고리의 다른 글
[Java] StringTokenizer Class 사용 및 Split 비교 (0) | 2022.05.28 |
---|---|
[Java] 스트림 (Stream) 타입별 변환 (0) | 2022.03.30 |
[Java] Lombok 사용 시 @Data compileJava 오류 (0) | 2022.02.14 |
[Java] 윈도우 cmd 명령어 실행 : Java로 실행파일 실행시키기 응용 (0) | 2022.01.12 |
[Java] FTP 서버로 파일 전송(업로드) 방법 및 다계층 디렉토리 만들기 (0) | 2021.12.09 |
댓글