POI라이브러리를 이용해 엑셀 업로드를 완료. 업로드한 파일은 지정한 폴더에 저장도 되면서, 엑셀 데이터와 시퀀스로 넘버링한 값을 함께 DB에도 저장했다. 그리고 이제 화면단에 엑셀 데이터를 표시하면 되는 상황
그런데...
컨트롤러에서 model에 담은 리스트 데이터를 화면단에서 el표기법을 이용해 foreach로 꺼내만 오면 되는데 이게 자꾸 오류를 뱉어내는게 아닌가?
java.lang.NumberFormatException
이틀을 mapper부터 데이터 포맷방식까지 전부 시도해 보면서 허탕을 쳤다. 하다하다 실마리가 안나와서 결국 강사님께 여쭈어 보았다.
엑셀 업로드 시 엑셀 파일을 읽어들이는 코드 부분에서 원인을 찾을 수 있었다.
엑셀 파일을 읽어와서 List<Map<String, String>>
에 저장했던 것, 그래서 int타입인 시퀀스 넘버링이 string으로 db에 들어가면서 꺼낼 때 자꾸 에러를 뱉어내는 것이었다...
시도 - 1
DTO에 있는 INT타입을 String으로 바꾸었지만 소용 없었다.
db에 만들어진 테이블도 number타입이기 때문에 그런것이라 생각된다.
시도 - 2
테이블 컬럼 수정 number타입 > varchar2
dto에도 변수 타입 String으로 수정
성공!