abstractview 파일 다운로드

스프링은 또한 xlsx 파일을 만들기 위해 2 개의 다른 추상 클래스추록XlsxView 및 AbstractXlsxStreamingView를 제공합니다. 큰 엑셀 문서로 작업 할 때 스트리밍 xlsx보기를 사용하는 것이 유익합니다. 스트리밍 뷰는 메모리를 적게 사용하고 대규모 Excel 문서의 성능을 향상시킬 수 있습니다. [사진] [사진] [사진] [사진] [보기] View DownloadView [다운로드뷰] Excel 문서를 만들 수있는 2 개의 파일 형식이 있습니다. .xls는 이전 형식이며 .xlsx는 XML 기반의 새 형식입니다. .xls 문서를 만들 때 아파치 POI를 사용하여 엑셀 파일을 만들 수 있습니다. .xlsx 파일로 작업할 때는 org.apache.poi:poi-ooxml 종속성이 필요합니다. 공개 FileDownloadView(){ 세트콘텐츠 유형(„애플리케이션/다운로드; ccharset=utf-8“); } @Override 보호된 보이드 렌더링병합출력모델(Map 모델, HttpServletRequest req, HttpServletResponse res) 예외 {// TODO 자동 생성 메서드 스텁 System.out.println („—- FileDownloadView.renderMergedOutputModel() —-„); java.io.File = 새로운 java.io.File(„C:Ins.log“); res.setContentType(getContent)를 throw합니다. 문자열 사용자 에이전트 = req.getHeader(„사용자 에이전트“); 문자열 파일 이름 = null; if(userAgent.indexOf(„MSIE“) > -1){ 파일이름 = URLEncoder.encode(file.getName(file.getName(), „utf-8“); } else{ 파일 이름 = 새 문자열(file.getName(„utf-8“), „iso-8859-1“), } res.setHeader(„콘텐츠 처리“, „첨부 파일“; 파일 이름 =““ + 파일 이름 + „“;“); res.setHeader(„콘텐츠 전송-인코딩“, „바이너리“); 출력 스트림 os = res.getOutputStream(); FileInputStream fis = null; try{ fis = 새 FileInputStream(파일); 파일복사유틸리티.카피(fis, os); }finally{ if (fis != null){ try{ fis.close(); } 캐치(IOException e){ System.out.println(„예외 : “ + e.toString()); } } os.flush(); }} @RequestMapping(값=“/filedown.sp“) 공개 ModelAndView 파일다운로드(){System.out.println(„—– FileDownloadController.fileDownload(—–„) ); ModelAndView 모델AndView = 새 모델AndView(„파일 다운로드“); 반환 모델AndView; }} 공용 클래스 FileDownloadView 추상뷰를 확장 {이를 위해, 우리는 추상뷰 클래스, 구체적인 보기 클래스 및 보기 해결새를 만드는 것을 포함하는 PDF 생성에 사용되는 것과 동일한 접근 방식을 따를 것이다.