[java] Apache POI를 이용한 Word 문서 생성기

Microsoft Word는 널리 사용되는 문서 작성 및 편집 도구입니다. 이러한 Word 문서를 자동으로 생성하는 프로그래밍적인 방법은 Apache POI 라이브러리를 사용하여 구현할 수 있습니다. Apache POI는 Java에서 Microsoft Office 파일 포맷을 처리하는 데 사용되는 강력한 라이브러리입니다.

이 블로그 포스트에서는 Apache POI를 사용하여 Java에서 Word 문서를 생성하는 방법에 대해 알아보겠습니다.

Apache POI 설정하기

먼저 Apache POI를 사용하기 위해 Maven 또는 Gradle 프로젝트에 아래의 종속성을 추가해야 합니다.

<dependencies>
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi</artifactId>
        <version>4.1.2</version>
    </dependency>
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi-ooxml</artifactId>
        <version>4.1.2</version>
    </dependency>
</dependencies>

위의 종속성을 추가한 후 프로젝트를 빌드하면 Apache POI 라이브러리가 제공하는 클래스와 메소드를 사용할 수 있습니다.

Word 문서 생성하기

Word 문서를 생성하기 위해 먼저 XWPFDocument 클래스의 인스턴스를 생성해야 합니다. 이 클래스는 Word 문서의 기본 요소인 페이지, 단락, 표 등을 다루는 데 사용됩니다.

import org.apache.poi.xwpf.usermodel.*;

public class WordDocumentGenerator {
    public static void main(String[] args) {
        // 새로운 Word 문서 생성
        XWPFDocument document = new XWPFDocument();

        // 문서에 단락 추가
        XWPFParagraph paragraph = document.createParagraph();
        XWPFRun run = paragraph.createRun();
        run.setText("Hello, World!");

        // 문서 저장
        try {
            FileOutputStream outputStream = new FileOutputStream("output.docx");
            document.write(outputStream);
            outputStream.close();
            document.close();
            System.out.println("Word 문서가 성공적으로 생성되었습니다.");
        } catch (IOException e) {
            System.out.println("Word 문서 생성 중 오류가 발생했습니다.");
            e.printStackTrace();
        }
    }
}

위의 예제 코드에서, XWPFDocument 클래스의 인스턴스를 생성한 후 createParagraph() 메소드를 사용하여 문서에 단락을 추가합니다. 그리고 createRun() 메소드를 사용하여 단락에 텍스트를 설정합니다. 마지막으로, write() 메소드를 사용하여 문서를 파일로 저장합니다.

결론

Apache POI를 사용하면 Java에서 간단하게 Word 문서를 생성할 수 있습니다. 이를 통해 많은 작업을 자동화하고 사용자 정의 문서를 생성하는 등 다양한 활용이 가능합니다. 추가적인 기능과 사용법에 대해서는 Apache POI의 공식 문서나 예제를 참고하면 좋습니다.

참고자료