SpringMvc Excel 인스턴스 코드 내보내기
많은 친구들이 실제 업무에서 데이터를 Excel로 내보내야 한다고 믿는데, 보통 이런 방법은 두 가지가 있다.
첫째, JXL을 사용하여 Excel을 생성한 다음 서버에 저장한 다음 페이지를 생성한 후에 파일을 다운로드합니다.
둘째, POI를 사용하여 Excel을 생성한 다음에 Stream을 사용하여 프론트 데스크톱으로 출력하여 직접 다운로드할 수 있다(ps: 물론 서버에 생성해서 다운로드할 수도 있다).여기서 우리는 두 번째를 토론한다.
Struts2 방식
일반적으로 나는 이미 생성된 HSSFWorkbook을 InputStream에 넣은 다음 xml 프로필에서 결과를 stream으로 되돌리는 방식을 변경합니다.다음과 같습니다.
private void responseData(HSSFWorkbook wb) throws IOException {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
wb.write(baos);
baos.flush();
byte[] aa = baos.toByteArray();
excelStream = new ByteArrayInputStream(aa, 0, aa.length);
baos.close();
}
구성 파일:
<action name="exportXxx" class="xxxAction" method="exportXxx">
<result name="exportSuccess" type="stream">
<param name="inputName">excelStream</param>
<param name="contentType">application/vnd.ms-excel</param>
<param name="contentDisposition">attachment;filename="Undefined.xls"</param>
</result>
</action>
이렇게 하면 링크를 클릭하면 파일을 직접 다운로드할 수 있는 목적을 달성할 수 있다.SpringMVC 방식
코드 먼저 붙이기:
@RequestMapping("/exportXxx.action")
public void exportXxx(HttpServletRequest request, HttpServletResponse response,
@RequestParam(value="scheduleId", defaultValue="0")int scheduleId){
HSSFWorkbook wb = createExcel(scheduleId) ;
try {
response.setHeader("Content-Disposition", "attachment; filename=appointmentUser.xls");
response.setContentType("application/vnd.ms-excel; charset=utf-8") ;
OutputStream out = response.getOutputStream() ;
wb.write(out) ;
out.flush();
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
사실springMVC와 Struts2의 원리는 같지만 Struts2는 파일을 설정하는 방식입니다.먼저 createExcel()
이 방법을 사용하여 Excel을 생성하고 되돌려줍니다. 마지막으로 response
를 이용하여 프론트에 Excel을 출력할 수 있습니다. 이런 방법은 통용되고 시험적으로 사용할 수도 있습니다 Servlet、Struts2
등.우리는 response
의 헤더 정보에 해당하는 출력 정보를 설정하기만 하면 된다.총결산
Struts2를 사용하든 Spring MVC를 사용하든 근본적으로 사용하는 response이기 때문에 response를 이해하면 그림, 월드, 엑셀을 다운로드하든 다른 어떤 파일이든 마찬가지입니다.
GitHub 주소: https://github.com/crossoverJie
이상은 본문의 전체 내용입니다. 여러분의 학습에 도움이 되고 저희를 많이 응원해 주십시오.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
springmvc application/octet-stream problemmistake: Source code: Solution: Summarize: application/octet-stream is the original binary stream method. If the convers...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.