본문 바로가기

장기 프로젝트/JAVA

엑셀 다운로드

@RequestMapping("/potal/excelDownload.do")
public void excelDownload(modelMap model, HttpServletRequest request, httpServletResponse response, @ModelAttribute("exVo") ExVO vo) throws Exception {
List<EgovMap> list1 = assService.userlistExcel(vo);
List<EgovMap> list2 = assService.userlistExcel2(vo);

Map(String, Object> beans = new HashMap<String, object>();

beans.put("list1" list1);
beans.put("list2" list2);

MakeExcel me = new MakeExcel();
me.download(request, response, beans, "엑셀파일 이름","assessment(폴더 이름)","엑셀파일이름.xlsx");
}



public class MakeExcel {
public void download(HttpServletRequest request, HttpServletResponse response, Map<String, Object> beans, String filename, String folder, String templateFile) throws ParsePropertyException, InvalidFormatException {
//경로 설정
String tmpPath = request.getSession().getServletContext().getRealPath("/") + "WEB-INF" + File.separator + "jsp" + File.separator + "egovframework" + File.separator + "portal" + File.separator + folder ;
try{
InputStream is = new BufferedInputStream(new FileInputStream(tempPath + File.sparator + templateFile));
XLSTransformer transformer = new XLSTransformer();
workbook resultWorkbook = transformer.transformXLS(is, beans);
response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode(filename,"utf-8").replace("+", "%20") + ".xlsx");
OutputStream os = response.getOutputStream();
resultWorkbook.write(os);
}catch (Ioexception e){
e.printStackTrace();
}
}
}


엑셀파일 설정
부서
${list1.컬럼이름1 }
이름
${list1.컬럼이름2 }

부서2
${list2.컬럼이름1 }

* ${} 선언시 Sheet 상관없이 자동 매핑 됨

'장기 프로젝트 > JAVA' 카테고리의 다른 글

spring java 파일 삭제 코드  (0) 2023.02.27
java에서 서버이름 가져오기  (0) 2022.08.02
[JAVA]숫자외 항목 체크  (0) 2022.04.06
임시번호 생성(JAVA) 방법  (0) 2022.03.08
[JAVA] 알고리즘-수박수박수박  (0) 2017.09.07