Apache POI 实现Word文档自动化生成完整指南
Apache POI 是一个开源的Java库,用于操作Microsoft Office格式文件。它支持读写Excel、Word、PowerPoint等文件格式,是Java生态中最流行的办公文档处理工具。
在生成Word文档的场景中,POI的XWPF组件(org.apache.poi.xwpf)专门用于处理.docx格式文件。
直接使用POI API逐行构建文档代码复杂且难以维护。使用模板方式可以:
在Word文档中使用特定占位符,如:${姓名}、${日期}、${金额}等。
// 简单示例代码
XWPFDocument document = new XWPFDocument(OPCPackage.open("template.docx"));
// 遍历所有段落
for (XWPFParagraph paragraph : document.getParagraphs()) {
List runs = paragraph.getRuns();
String text = paragraph.getText();
if (text.contains("${姓名}")) {
String newText = text.replace("${姓名}", "张三");
paragraph.getRuns().get(0).setText(newText, 0);
}
}
// 保存文件
FileOutputStream out = new FileOutputStream("output.docx");
document.write(out);
out.close();
document.close();
支持在模板中定义表格结构,程序动态填充行数据。
从数据库或文件系统读取图片,插入到指定位置。
根据业务逻辑决定是否显示某些段落或章节。
处理列表数据,如订单明细、员工列表等。