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

Microsoft Word 문서는 많은 사람들이 일상적인 업무나 학업에서 사용하는 중요한 도구입니다. 때로는 Word 문서에 저장된 데이터를 읽거나 편집해야 할 때가 있습니다. 이를 위해 Apache POI 라이브러리를 사용할 수 있습니다.

Apache POI는 Java로 작성된 라이브러리로, Microsoft Office 포맷인 Word, Excel, PowerPoint 등을 생성하고 편집할 수 있습니다. 본 포스트에서는 Apache POI를 사용하여 Word 문서를 읽고 쓰는 방법에 대해 알아보겠습니다.

1. Apache POI 종속성 추가하기

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

Maven 예시

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

Gradle 예시

dependencies {
    compile group: 'org.apache.poi', name: 'poi', version: '4.1.2'
}

2. Word 문서 읽기

Apache POI를 사용하여 Word 문서를 읽기 위해 다음의 단계를 따릅니다.

2.1. FileInputStream 생성

읽을 Word 문서의 경로로 FileInputStream을 생성합니다.

FileInputStream fis = new FileInputStream("path/to/word/document.docx");

2.2. XWPFDocument 생성

XWPFDocument 객체를 생성하여 FileInputStream을 사용해 Word 문서를 로드합니다.

XWPFDocument document = new XWPFDocument(fis);

2.3. 문서 내용 확인

document 객체를 사용하여 Word 문서의 내용을 확인할 수 있습니다. 예를 들어, 문서의 모든 Paragraph를 출력하는 코드는 다음과 같습니다.

List<XWPFParagraph> paragraphs = document.getParagraphs();
for (XWPFParagraph paragraph : paragraphs) {
    System.out.println(paragraph.getText());
}

3. Word 문서 쓰기

Apache POI를 사용하여 Word 문서를 쓰기 위해 다음의 단계를 따릅니다.

3.1. XWPFDocument 생성

먼저 XWPFDocument 객체를 생성합니다.

XWPFDocument document = new XWPFDocument();

3.2. 문서에 내용 추가

document 객체를 사용하여 문서에 내용을 추가할 수 있습니다. 예를 들어, 새로운 Paragraph를 생성하고 텍스트를 설정하는 코드는 다음과 같습니다.

XWPFParagraph paragraph = document.createParagraph();
XWPFRun run = paragraph.createRun();
run.setText("Hello, World!");

3.3. 문서 저장

최종적으로, 작성한 Word 문서를 파일로 저장합니다.

FileOutputStream fos = new FileOutputStream("path/to/save/document.docx");
document.write(fos);

결론

Apache POI를 사용하면 Java 코드로 Word 문서를 읽고 쓸 수 있습니다. 이를 통해 문서 처리 작업을 자동화하거나 원하는 형식으로 디자인된 문서를 생성할 수 있습니다.

더 많은 기능과 사용법은 Apache POI 공식 문서를 참고하시기 바랍니다.