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()) { Listruns = 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();
支持在模板中定义表格结构,程序动态填充行数据。
从数据库或文件系统读取图片,插入到指定位置。
根据业务逻辑决定是否显示某些段落或章节。
处理列表数据,如订单明细、员工列表等。