게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
jsp에서 아파치 poi를 통해 엑셀 파일을 다운로드 시키려 합니다.
게시물ID : programmer_21397짧은주소 복사하기
작성자 : 법-규
추천 : 0
조회수 : 568회
댓글수 : 5개
등록시간 : 2017/09/19 21:34:10
옵션
  • 본인삭제금지
jsp에서 DB에 있는 데이터를 poi 통해 엑셀파일로 저장시키려 합니다.
아웃풋스트림을 FileOuputStream으로 잡고, 임의의 경로로 하드코딩하여 wb.write하면
엑셀파일이 정상적으로 생성됩니다.
하지만 이건 서버컴퓨터에만 다운로드가 되니까, 클라이언트가 다운받을수 있게 하려합니다.
구글링을 통해 여러 예제들 짬뽕해가면서 하고있는데,
response.getOutputStream()으로 스트림 잡아다가 wb.write하니
엑셀 파일이 아닌, 해당 소스가 있는 JSP파일이 다운로드 됩니다.
JSP 파일 말고, 의도한 대로 클라이언트가 엑셀파일을 다운로드 할 수 있게 하려면 어떻게 하나요?
아래는 소스파일입니다.
여러 예제를 보면서 이것저것 시도하다보니 
잘못된 부분이 더 있다면 얘기해주세요.

OutputStream fileOut = null;
HSSFWorkbook wb = null;
HSSFSheet sheet = null;
HSSFRow row = null;

~DB 데이터 처리~

String sFileName = cid + ".xls";
String fileName = new String(sFileName.getBytes("EUC-KR"), "8859_1");
String strClient = request.getHeader("User-Agent");
if (strClient.indexOf("MSIE 5.5") > -1) {
response.setHeader("Content-Disposition", "filename="+ fileName + ";");
} else {
response.setHeader("Content-Disposition","attachment; filename=" + fileName + ";");
response.setHeader("Content-Description","JSP Generated Data");
response.setContentType("application/octet-stream");
}
out.clear();
out = pageContext.pushBody();
response.reset();

fileOut = response.getOutputStream();
wb.write(fileOut);
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호