[java] Apache POI를 이용한 Word 문서 적용

Apache POI는 Java에서 Microsoft Office 파일을 조작하고 생성하는 라이브러리입니다. 이 라이브러리를 사용하면 Java 애플리케이션에서 MS Word 파일을 쓰고 읽을 수 있습니다. 이번 블로그에서는 Apache POI를 사용하여 Word 문서에 데이터를 작성하는 방법에 대해 알아보겠습니다.

1. Maven 종속성 추가하기

먼저 Maven 프로젝트에서 Apache POI를 사용하기 위해 pom.xml 파일에 다음 종속성을 추가해야 합니다.

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>5.0.0</version>
</dependency>

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

2. Word 문서 생성하기

먼저, Word 문서를 생성해보겠습니다. 다음 코드를 사용하여 빈 Word 문서를 생성할 수 있습니다.

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

public class WordExample {
    public static void main(String[] args) throws Exception {
        XWPFDocument document = new XWPFDocument();
        FileOutputStream out = new FileOutputStream("example.docx");
        document.write(out);
        out.close();
    }
}

위의 코드를 실행하면 새로운 “exmaple.docx”라는 빈 Word 문서 파일이 생성됩니다.

3. 문서에 데이터 작성하기

이제 생성된 Word 문서에 데이터를 작성해보겠습니다. 다음 코드를 사용하여 문서에 텍스트를 추가할 수 있습니다.

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

public class WordExample {
    public static void main(String[] args) throws Exception {
        XWPFDocument document = new XWPFDocument();
        XWPFParagraph paragraph = document.createParagraph();
        XWPFRun run = paragraph.createRun();
        run.setText("Hello, World!");

        FileOutputStream out = new FileOutputStream("example.docx");
        document.write(out);
        out.close();
    }
}

위의 코드를 실행하면 “Hello, World!”라는 텍스트가 포함된 Word 문서 파일이 생성됩니다.

4. 테이블 추가하기

또한 Apache POI를 사용하여 Word 문서에 테이블을 추가할 수도 있습니다. 다음 코드를 사용하여 문서에 테이블을 추가할 수 있습니다.

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

public class WordExample {
    public static void main(String[] args) throws Exception {
        XWPFDocument document = new XWPFDocument();
        XWPFTable table = document.createTable(3, 3);

        for (int i = 0; i < 3; i++) {
            for (int j = 0; j < 3; j++) {
                XWPFTableCell cell = table.getRow(i).getCell(j);
                cell.setText("Cell " + (i+1) + "-" + (j+1));
            }
        }

        FileOutputStream out = new FileOutputStream("example.docx");
        document.write(out);
        out.close();
    }
}

위의 코드를 실행하면 3x3 크기의 테이블이 있는 Word 문서 파일이 생성됩니다.

결론

Apache POI를 사용하면 Java에서 Word 문서 생성 및 조작이 가능합니다. 이번 블로그에서는 Apache POI를 이용하여 Word 문서에 데이터를 작성하는 방법에 대해 알아보았습니다. 더 자세한 내용은 Apache POI 공식 문서를 참조할 수 있습니다.