[java] Apache POI를 이용한 Word 문서 반영
먼저, Apache POI의 종속성을 프로젝트에 추가해야 합니다. Maven을 사용한다면 pom.xml
파일에 다음과 같이 추가합니다:
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.2</version>
</dependency>
Apache POI를 사용하여 Word 문서를 반영하는 가장 기본적인 단계는 다음과 같습니다.
import org.apache.poi.xwpf.usermodel.*;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class WordDocumentExample {
public static void main(String[] args) {
// 기존 Word 문서를 열기 위해 FileInputStream 사용
try (FileInputStream fis = new FileInputStream("existing_document.docx");
XWPFDocument document = new XWPFDocument(fis)) { // XWPFDocument로 문서를 읽어옴
// 문서 내용 수정
for (XWPFParagraph paragraph : document.getParagraphs()) {
for (XWPFRun run : paragraph.getRuns()) {
String text = run.getText(0);
if (text != null && text.contains("바꿀_텍스트")) {
text = text.replace("바꿀_텍스트", "새로운_텍스트");
run.setText(text, 0);
}
}
}
// 수정된 문서를 새로운 파일로 저장하기 위해 FileOutputStream 사용
try (FileOutputStream fos = new FileOutputStream("updated_document.docx")) {
document.write(fos);
}
System.out.println("문서가 성공적으로 반영되었습니다.");
} catch (IOException e) {
e.printStackTrace();
}
}
}
위의 예제 코드는 existing_document.docx
파일을 열어서 해당 문서 내에 있는 “바꿀_텍스트”를 “새로운_텍스트”로 변경한 후 updated_document.docx
파일로 저장하는 예시입니다. XWPFDocument
는 Word 문서의 내용을 읽고 쓸 수 있도록 해주는 클래스이며, XWPFParagraph
와 XWPFRun
은 문단과 텍스트 런을 나타내는 클래스입니다.
Apache POI를 이용하여 Word 문서를 반영하는 방법에 대해 간단히 알아보았습니다. 더 자세한 내용은 Apache POI 공식 문서에서 확인하실 수 있습니다.