Apache POI 是一个强大的Java库,用于读写Microsoft Office格式的文档,包括Word、Excel和PowerPoint等。使用Apache POI,我们可以轻松地生成和操作Word文档。本文将通过一个简单的示例,演示如何使用Java POI导出一个Word文档。
一、准备工作
首先,我们需要在项目中引入Apache POI的相关依赖。如果你使用的是Maven,可以在 pom.xml
文件中添加以下依赖:
<dependencies>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>5.2.3</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>5.2.3</version>
</dependency>
</dependencies>
二、创建Word文档
接下来,我们可以开始编写代码来导出Word文档。以下是一个基本的示例,展示了如何创建一个Word文档并写入一些内容。
import org.apache.poi.xwpf.usermodel.*;
import java.io.FileOutputStream;
import java.io.IOException;
public class WordExportExample {
public static void main(String[] args) {
// 创建一个Word文档
XWPFDocument document = new XWPFDocument();
// 创建段落
XWPFParagraph paragraph = document.createParagraph();
XWPFRun run = paragraph.createRun();
run.setText("Hello, World!");
run.setBold(true);
run.setFontSize(20);
// 添加一个二级标题
XWPFParagraph subHeading = document.createParagraph();
subHeading.setStyle("Heading2");
XWPFRun subRun = subHeading.createRun();
subRun.setText("这是一个二级标题");
subRun.setFontSize(16);
// 添加一个有序列表
for (int i = 1; i <= 5; i++) {
XWPFParagraph listParagraph = document.createParagraph();
listParagraph.setNumID(document.createNumbering().addNum(null));
XWPFRun listRun = listParagraph.createRun();
listRun.setText("列表项 " + i);
}
// 添加图片
try {
String imgFile = "path/to/image.png"; // 替换为你自己的图片路径
FileInputStream is = new FileInputStream(imgFile);
document.addPictureData(is, XWPFDocument.PICTURE_TYPE_PNG);
document.createPicture(document.getAllPictures().size() - 1, 100, 100, document.getDocument().getBody());
} catch (Exception e) {
e.printStackTrace();
}
// 保存文档
try (FileOutputStream out = new FileOutputStream("example.docx")) {
document.write(out);
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("Word文档已成功导出!");
}
}
三、代码解析
- 创建文档:使用
XWPFDocument
类来创建一个新的Word文档。 - 段落:通过
createParagraph()
方法创建段落,并用XWPFRun
向段落添加文本。 - 标题:设置段落样式为“Heading2”以创建二级标题。
- 列表:使用有序列表,以数字形式列出五个项目。
- 添加图片:使用
addPictureData()
方法将图片添加到文档中(需确保图片路径正确)。 - 保存文档:使用
FileOutputStream
保存文档到本地磁盘。
总结
通过Apache POI库,可以轻松地在Java中创建和操作Word文档。以上示例仅覆盖了基本的使用方法,POI还支持更复杂的操作,如表格、模板填充等。在实际开发中,可以根据需求扩展功能,以满足更多场景的需求。希望本文对您理解如何使用Java POI导出Word文档有所帮助!