개발/Web

spring boot 엑셀 다운로드와 파일 다운로드시 자동열림 문제

보리ing 2019. 4. 12. 09:40

 엑셀 함수작업을 위해 디자인 한 엑셀 템플릿에 데이터를 넣어 다운로드하는 엑셀 다운로드 작업을 했다.

때문에 poi+jxls를 사용하였고, 컨트롤러와 엑셀 생성 메서드를 통해 작업을 이루어졌다.

 헤맸던 것은 예제들은 maven build인점. 이부분은 mavenrepository 사이트에서 찾아 gradle로 변형시켜

채워넣으면 해결.

 두번째로는 resource에 있는 file을 불러와야하는데 이 경로를 잡는데 어려움이 있었다.

 

결론은 ClassPathResource() 를 사용해 resource까지 접근. 나머지 하위경로를 잡아주면 된다.

File file = new ClassPathResource("excel/"+templateFile).getFile();

 

마지막으로 ajax로는 서버에서 엑셀다운 이벤트처리를 하는데 

 

다시 view 로 돌아가는데 문제가 있어

 

form의 post전송으로 변경했어야 했다.

 

마지막으로 제목에 넣었다시피 또 헤맨것은 엑셀 다운로드시 하단에 다운로드 파일이 보이지 않고

자동으로 열리는 문제였다.

이 부분에 대한 접근을 자바 설정을 자동열기로 하지 않았냐는 말을 듣고 소스에서만 문제점을 찾으려 하여

한 참을 헤맸다.

결론은 구글 크롬 설정문제로

우측 상단 옵션 - > 설정 -> 고급 -> 다운로드에서 자동열기 설정 지우기를 클릭하면 된다.

 

 

 

 결과로 보면 작업 클래스 2개로 아주 간단한 작업이지만 헤맴으로 인해 꽤나 시간을 소비했다.

키워드를 통한 핵심작업을 추려 적용하는 요령을 더 쌓아야겠다.