AbstractPOIExcelView에서 파일명 문제
- 작성자 :
- 임*미
- 작성일 :
- 2016-10-17 10:49:23
- 조회수 :
- 1,145
- 구분 :
- 개발환경
- 진행상태 :
- 완료
Q
AbstractPOIExcelView을 상속받아 다음과 같이 사용하고 있습니다.
@Override
protected void buildExcelDocument(Map<String, Object> model, XSSFWorkbook wb, HttpServletRequest req, HttpServletResponse res) throws Exception {
ExcelExport export = (ExcelExport) model.get("excel");
String filename = (String) model.get("filename");
try {
export.makeExcel(wb);
} catch (Exception e) {
e.printStackTrace();
XSSFSheet sheet = wb.createSheet("sheet1");
XSSFCell cell = getCell(sheet, 0, 0);
setText(cell, "Error");
}
res.setHeader("Content-Transfer-Encoding", "binary");
}
ExcelExport의 makeExcel은 XSSFWorkbook 객체를 받아서 엑셀파일을 생성합니다.
파일명도 컨트롤러에서 model에 filename으로 받아서 넘기고 있는데요, filename을 로그에 찍어보면 정상적으로 출력이 됩니다.
문제는 다운로드시 filename.xlsx로 되는게 아니라 그냥 xlsx로 다운이 됩니다.
다운로드된 파일을 filename.xlsx로 바꿔서 실행하면 제대로 작성이 되어있구요.. 무언가 더 추가적인 조치가 있어야되나요...
@Override
protected void buildExcelDocument(Map<String, Object> model, XSSFWorkbook wb, HttpServletRequest req, HttpServletResponse res) throws Exception {
ExcelExport export = (ExcelExport) model.get("excel");
String filename = (String) model.get("filename");
try {
export.makeExcel(wb);
} catch (Exception e) {
e.printStackTrace();
XSSFSheet sheet = wb.createSheet("sheet1");
XSSFCell cell = getCell(sheet, 0, 0);
setText(cell, "Error");
}
res.setHeader("Content-Transfer-Encoding", "binary");
}
ExcelExport의 makeExcel은 XSSFWorkbook 객체를 받아서 엑셀파일을 생성합니다.
파일명도 컨트롤러에서 model에 filename으로 받아서 넘기고 있는데요, filename을 로그에 찍어보면 정상적으로 출력이 됩니다.
문제는 다운로드시 filename.xlsx로 되는게 아니라 그냥 xlsx로 다운이 됩니다.
다운로드된 파일을 filename.xlsx로 바꿔서 실행하면 제대로 작성이 되어있구요.. 무언가 더 추가적인 조치가 있어야되나요...
A
임새미님 안녕하세요.
표준프레임워크센터입니다.
표준프레임워크에서 제공하는 POI 가이드를 참고바랍니다.
http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte:fdl:excel&s[]=poi
감사합니다.
표준프레임워크센터입니다.
표준프레임워크에서 제공하는 POI 가이드를 참고바랍니다.
http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte:fdl:excel&s[]=poi
감사합니다.