JAVA/EXCEL컨트롤관련

apache poi 를 이용한 엑셀 다운로드 처리

nineDeveloper 2014. 10. 17. 09:43
728x90
반응형

아파치 poi

http://poi.apache.org/spreadsheet/how-to.html

 

HSSFWorkbook 구현시 필요

poi-3.9-20121203.jar 

 

XSSFWorkbook 구현시 필요

poi-3.9-20121203.jar

poi-ooxml-3.9-20121203.jar

poi-ooxml-schemas-3.9-20121203.jar 

ooxml-lib\dom4j-1.6.1.jar

ooxml-lib\xmlbeans-2.3.0.jar

 

기존 HSSFWorkbook(.xls) 을 사용하던 방식에서 둘다 처리가능한 모델로 변경한다.

AbstractView 를 상속받아 renderMergedOutputModel() 를 오버라이딩하면 된다.

 

@Override

protected void renderMergedOutputModel(Map<String, Object> model, HttpServletRequest req, HttpServletResponse res) throws Exception {

Workbook workbook;

String 확장자 = (String) model.get("확장자");

if(확장자=xlsx)

wb = new XSSFWorkbook();

}else{

wb = new HSSFWorkbook();

}

buildExcelDocument(model, workbook, req, res);

ByteArrayOutputStream os= createTemporaryOutputStream();

wb.write(os);

writeToResponse(res, os);

}

 

@SuppressWarnings("unchecked")

private void buildExcelDocument(Map<String, Object> model, Workbook workbook, HttpServletRequest req, HttpServletResponse res) throws Exception {

        구현....

}

 

참고

https://github.com/hmkcode/Spring-Framework/blob/master/spring-mvc-json-pdf-xls-excel/src/main/java/com/hmkcode/view/abstractview/AbstractExcelView.java 

728x90
반응형