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

Apache POI(Java API for Microsoft Documents)는 Java에서 Microsoft Office 파일을 조작하는 라이브러리입니다. 이번 블로그 포스트에서는 Apache POI를 사용하여 Word 문서를 수정하는 방법에 대해 알아보겠습니다.

Apache POI 설치

Apache POI를 사용하기 위해 먼저 해당 라이브러리를 다운로드하고 설치해야 합니다. 다음은 Maven을 사용하는 경우, pom.xml 파일에 Apache POI 의존성을 추가하는 예시입니다.

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

Maven을 사용하지 않는 경우, Apache POI 다운로드 페이지에서 해당 라이브러리를 다운로드하여 프로젝트에 추가해주셔야 합니다.

Word 문서 열기

Apache POI를 사용하여 Word 문서를 수정하기 위해서는 먼저 해당 문서를 열어야 합니다. 다음은 Word 문서를 열고, 수정을 위한 XWPFDocument 객체를 얻는 방법입니다.

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

// Word 문서 경로
String filePath = "path/to/word/document.docx";

// Word 문서 열기
FileInputStream fis = new FileInputStream(filePath);
XWPFDocument document = new XWPFDocument(fis);

텍스트 수정

Apache POI를 사용하여 Word 문서에서 특정한 텍스트를 수정하는 방법은 다음과 같습니다.

import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;

// 수정할 텍스트
String newText = "새로운 텍스트";

// 첫 번째 단락 가져오기
XWPFParagraph paragraph = document.getParagraphs().get(0);

// 첫 번째 단락의 첫 번째 실행 객체 가져오기
XWPFRun run = paragraph.getRuns().get(0);

// 텍스트 수정
run.setText(newText, 0);

위의 코드는 첫 번째 단락의 첫 번째 실행 객체에서 텍스트를 수정하는 예시입니다. 필요에 따라 문서의 다른 부분을 수정할 수 있습니다.

Word 문서 저장

텍스트 수정 등의 작업을 마치고 나면, 수정된 내용을 Word 문서에 저장해야 합니다.

// 수정된 Word 문서 저장
FileOutputStream fos = new FileOutputStream(filePath);
document.write(fos);
fos.close();

위의 코드는 수정된 Word 문서를 기존 파일에 덮어쓰는 예시입니다. 필요에 따라 다른 파일 경로에 저장할 수도 있습니다.

결론

이번 포스트에서는 Apache POI를 사용하여 Word 문서를 수정하는 방법에 대해 알아보았습니다. Apache POI는 간단하고 유연한 API를 제공하여 Java에서 Microsoft Office 파일을 조작할 수 있게 해줍니다. Apache POI는 엑셀 및 파워포인트 파일도 조작할 수 있으므로 다양한 기능을 구현할 수 있습니다.

더 자세한 내용은 Apache POI 공식 문서를 참고하시기 바랍니다.