什么是 Apache POI?
Apache POI 是一个用于操作 Microsoft Office 文档(如 Word、Excel、PowerPoint)的 Java 开源库。通过它,开发者可以在不依赖 Microsoft Office 的情况下生成和修改 Office 文件。
HTML 转 Word 的常见需求
在实际开发中,我们经常需要将网页内容(HTML)导出为 Word 文档,例如生成报告、合同或简历等。虽然 POI 本身并不直接支持 HTML 解析,但可以通过组合使用 XWPFDocument 和第三方 HTML 解析器(如 Jsoup)来实现。
基础实现步骤
- 使用 Jsoup 解析 HTML 字符串
- 遍历 DOM 节点并映射为 Word 元素(段落、标题、列表等)
- 使用 Apache POI 的 XWPF API 构建 .docx 文件
- 输出为文件流或供用户下载
简单代码示例
// 示例:创建一个简单的 Word 文档
XWPFDocument document = new XWPFDocument();
XWPFParagraph paragraph = document.createParagraph();
XWPFRun run = paragraph.createRun();
run.setText("这是由 Java POI 生成的内容");
// 输出到文件
FileOutputStream out = new FileOutputStream("output.docx");
document.write(out);
out.close();
document.close();
⚠️ 注意:POI 不原生支持 HTML 标签解析。若需完整支持富文本 HTML 转 Word,建议结合模板引擎(如 FreeMarker)或使用专业转换库(如 docx4j + XHTMLImporter)。
替代方案推荐
如果你希望快速实现 HTML 到 Word 的转换而不想从零开发,可以考虑以下在线工具:
- 使用浏览器打印功能另存为 PDF,再转 Word
- 借助专业在线服务进行格式转换