본문 바로가기

Spring Boot

[Springboot] POI docx파일 생성 / 다운로드 구현

반응형

Spring Boot 응용 프로그램에서 Microsoft Word(.docx) 파일 다운로드를 구현하는 방법의 예입니다.

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class DocxDownloadController {

    @GetMapping("/download/docx")
    public void downloadDOCX(HttpServletResponse response) {
        response.setContentType("application/vnd.openxmlformats-officedocument.wordprocessingml.document");
        response.setHeader("Content-Disposition", "attachment; filename=\"document.docx\"");

        try {
            XWPFDocument document = new XWPFDocument();
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            document.write(baos);
            response.getOutputStream().write(baos.toByteArray());
            response.getOutputStream().flush();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

 

다운로드DOCX 메서드는 HttpServletResponse 개체를 사용하여 응답의 내용 유형과 헤더를 설정합니다. Apache POI 라이브러리의 XWPF 문서는 새 Microsoft Word 문서를 만드는 데 사용됩니다. 문서는 ByteArrayOutputStream에 기록된 다음 응답 출력 스트림에 기록됩니다.

Spring Boot 응용 프로그램에서 Apache POI를 사용하려면 다음 종속성을 pom.xml 파일에 추가하십시오.

<dependency>
  <groupId>org.apache.poi</groupId>
  <artifactId>poi-ooxml</artifactId>
  <version>4.1.2</version>
</dependency>
반응형