Word 문서를 처리하고 조작하기 위해 Apache POI 라이브러리를 사용할 수 있습니다. Apache POI는 Java에서 Microsoft Office 파일을 읽고 쓸 수 있게 하는 오픈 소스 라이브러리입니다. 이번에는 Apache POI를 사용하여 Word 문서를 동작하는 방법을 알아보겠습니다.
1. Apache POI 라이브러리 추가
먼저, Apache POI 라이브러리를 프로젝트에 추가해야 합니다. 다음 Maven 의존성을 pom.xml 파일에 추가하여 필요한 라이브러리를 가져올 수 있습니다.
<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>
2. Word 문서 읽기
Apache POI를 사용하여 Word 문서를 읽으려면 다음과 같은 단계를 따라야 합니다.
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;
import java.io.FileInputStream;
import java.io.IOException;
public class WordReader {
public static void main(String[] args) {
try {
FileInputStream file = new FileInputStream("path/to/word/document.docx");
XWPFDocument document = new XWPFDocument(file);
// 문단(paragraph) 단위로 데이터 읽기
for (XWPFParagraph paragraph : document.getParagraphs()) {
System.out.println(paragraph.getText());
}
file.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
위의 예제 코드에서는 XWPFDocument
클래스를 사용하여 Word 문서를 열고, XWPFParagraph
객체를 사용하여 문단 단위로 데이터를 읽습니다. 매 문단마다 getText()
메소드를 호출하여 해당 문단의 텍스트를 가져올 수 있습니다.
3. Word 문서 쓰기
Apache POI를 사용하여 Word 문서를 생성하려면 다음과 같은 단계를 따라야 합니다.
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;
import java.io.FileOutputStream;
import java.io.IOException;
public class WordWriter {
public static void main(String[] args) {
try {
XWPFDocument document = new XWPFDocument();
// 새로운 문단 생성
XWPFParagraph paragraph = document.createParagraph();
XWPFRun run = paragraph.createRun();
// 텍스트 추가
run.setText("Hello World!");
// 문서 저장
FileOutputStream out = new FileOutputStream("path/to/save/document.docx");
document.write(out);
out.close();
document.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
위의 예제 코드에서는 XWPFDocument
클래스를 사용하여 새로운 Word 문서를 생성하고, createParagraph()
메소드를 호출하여 새로운 문단을 생성합니다. 그리고 createRun()
메소드를 호출하여 문단에 텍스트를 추가할 수 있습니다.
마지막으로, write()
메소드를 사용하여 문서를 저장합니다.
결론
Apache POI를 사용하면 Java에서 Word 문서를 읽고 작성하는 작업을 수행할 수 있습니다. Apache POI의 다른 클래스와 메소드를 사용하여 문서를 더 세부적으로 조작할 수도 있습니다. 자세한 내용은 Apache POI 공식 문서를 참조하세요.