728x90
1. 오류 상황
자바에서 POI 라이브러리를 통해 엑셀 파일 안의 셀 값을 읽으려고 하는데 해당 오류가 발생했다.
List<Map<String, Object>> boards = new ArrayList<>();
XSSFWorkbook wb = new XSSFWorkbook(excelFile.getInputStream());
Sheet sheet = wb.getSheetAt(0);
Row row = sheet.getRow(0);
String value = row.getCell(0).getStringCellValue(); // 오류 발생
2. 오류 원인
알고보니 셀 안에 문자와 숫자가 섞여있어 해당 셀을 getStringCellValue 즉, 문자열로 읽을 수 없다는 것이다.

문자와 숫자가 섞여있어 String 타입으로 읽을 수 없다니 좀 어이없긴 하지만 그래도 방법을 찾았다.
3. 해결 방법
DataFormatter formatter = new DataFormatter();
String value = formatter.formatCellValue(row.getCell(0))
DataFormatter를 선언하여 로우의 셀을 읽을 때 이렇게 formatCellValue로 감싸면 된다.
728x90