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();
  } 
}
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에 따라 라이센스가 부여됩니다.