2021.06.30
45번째 포스팅
입사 114일차.
참여하고 있던 프로젝트가 얼추 마무리 된 후, 시간이 너무 남아서 다른 개발건에 참여하기로 했다.
개발의 주요내용은 업로드한 엑셀파일을 DB에 저장하는 내용이었다.
여러가지 문제에 부딪혔기 때문에 기록으로 남기려고 한다.
0-1. 문제점 발생
① 엑셀파일을 읽는 jar파일은 엑셀파일의 경로가 필요하다.
② 최신 브라우저들은 파일의 실제경로를 fakePath로 표시해서 접근을 막는다.
ex) 실제경로 : C:\download\20210630\abc.txt
표시경로 : C:\fakePath\abc.txt
0-2. 문제점 해결
① 업로드한 엑셀파일을 local의 C:\Temp 폴더에 업로드한다.
② 엑셀파일을 불러오는 경로를 C:\Temp로 하드코딩한다.
③ 파일이름을 파라미터로 전달해서 C:\Temp\파일이름 으로 경로를 만든다.
④ 엑셀파일의 데이터를 읽은 후, DB에 저장한다.
⑤ 저장이 완료되면, C:\Temp\에 업로드한 엑셀파일을 삭제한다.
1. poi.jar
① 입력한 데이터를 엑셀파일로 만들어주거나 엑셀파일안의 데이터를 읽어올 수 있다.
② 빌드도구가 없는 프로젝트였기 때문에 외부 jar파일을 추가했다.
③ 다운로드 경로 : https://www.apache.org/dyn/closer.lua/poi/release/bin/poi-bin-3.15-20160924.tar.gz
2. 외부 jar파일 추가
① 프로젝트 - Properties
② Java Build Path - Libraries - Add External JARs
③ 외부 jar파일이 제대로 추가되었는지 확인한다.
다음포스팅의 주제
'백엔드 > 자바' 카테고리의 다른 글
[BE/JAVA] JSP에서 엑셀파일 읽어서 DB에 저장하기 - 3 (0) | 2021.07.03 |
---|---|
[BE/JAVA] JSP에서 엑셀파일 읽어서 DB에 저장하기 - 2 (0) | 2021.07.01 |
[BE/JAVA] getter, setter Object vs parsing 속도비교 (0) | 2021.06.09 |
[BE/JAVA] HashMap Synchronized 처리 (0) | 2021.04.14 |
[BE/JAVA] HashTable과 HashMap 그리고 Synchronized (0) | 2021.03.26 |
댓글