国产化Word处理控件Spire.Doc教程:Java实现HTML 转Word自动化
将 HTML 内容转换为 Word 文档,对于内容共享、归档以及保持格式一致性都非常重要。它不仅便于后续编辑,还能很好地与其他工具配合使用,满足行业标准。此外,Word 文档支持离线访问,版式专业,非常适合正式提交使用。总体来说,这种转换方式提升了文档的可访问性,也让内容管理更加简单高效。 本文将介绍如何使用 Spire.Doc for Java 在 Java 中将 HTML 文件或 HTML 字符串转换为 Word 文档。
Spire.Doc for Java下载
为什么选择 Spire.Doc 来实现 HTML 转 Word?
Spire.Doc for Java 提供了稳定高效的 HTML 转 Word 功能,是一款无需依赖 Microsoft Office 的独立第三方组件。 它支持将 HTML 文件或字符串直接转换为 Word 文档,并尽可能保留原始样式和布局,广泛应用于报告生成、系统导出、内容归档等自动化场景。除此之外,Spire.Doc 还提供丰富的 Word 文档操作功能,配合简洁直观的 API 设计,能够帮助开发者高效构建企业级文档处理流程。
要使用该工具,你需要先在 Java 项目中引入 Spire.Doc.jar 文件作为依赖项。你可以点击此处下载 JAR 文件;如果你使用 Maven,只需在 pom.xml 文件中添加以下配置即可完成导入。
<repositories><repository><id>com.e-iceblue</id><name>e-iceblue</name><url>https://repo.e-iceblue.cn/repository/maven-public/</url></repository> </repositories> <dependencies><dependency><groupId>e-iceblue</groupId><artifactId>spire.doc</artifactId><version>13.5.3</version></dependency> </dependencies>
用 Java 三步完成 HTML 文件到 Word 的转换
要将 HTML 文件转换为 Word 文档,核心在于使用 Document 类。该类提供了导入 HTML 内容并导出为 DOC 或 DOCX 等格式的方法。借助 Spire.Doc,你只需简单三步,就可以轻松实现 HTML 到 Word 的自动化转换。
使用 Java 将 HTML 文件转换为 Word 的步骤如下:
- 创建一个新的 Document 对象 ;
- 使用 Document.loadFromFile() 方法加载 HTML 文件内容 ;
- 使用 Document.saveToFile() 方法将内容保存为 Word 文件(如 .docx)。
import com.spire.doc.Document; import com.spire.doc.FileFormat; import com.spire.doc.Section; import com.spire.doc.documents.XHTMLValidationType;public class ConvertHtmlFileToWord {public static void main(String[] args) {// 创建一个 Document 类的对象Document document = new Document();// 加载 HTML 文件document.loadFromFile("E:/Administrator/Python1/input/项目进度.html", FileFormat.Html, XHTMLValidationType.None);// 获取第一节Section section = document.getSections().get(0);// 设置页边距section.getPageSetup().getMargins().setAll(2);// 将文档保存为 Word 文件document.saveToFile("E:/Administrator/Python1/output/HTML文件转Word.docx",FileFormat.Docx);document.dispose();} }
在 Java 中快速转换 HTML 字符串为 Word
在某些场景下,你可能需要在运行时动态生成或修改 HTML 内容,例如从用户输入、数据库查询结果,或模板引擎中构建 HTML 字符串。相比转换静态 HTML 文件,Spire.Doc for Java 提供了更灵活的方式,可以通过 Paragraph.appendHTML() 方法将 HTML 字符串直接渲染到 Word 文档中。
使用 Java 将 HTML 字符串转换为 Word 的步骤如下:
- 创建一个新的 Document 对象;
- 向文档中添加一个 Section 和一个 Paragraph;
- 从 HTML 文件或其他数据源中读取 HTML 字符串;
- 使用 Paragraph.appendHTML() 方法将 HTML 内容渲染进文档;
- 使用 Document.saveToFile() 方法将文档保存为 Word 文件(如 .docx)。
import com.spire.doc.Document; import com.spire.doc.FileFormat; import com.spire.doc.Section; import com.spire.doc.interfaces.IParagraph;import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths;public class ConvertHtmlStringToWord {public static void main(String[] args) throws IOException {// 创建一个 Document 对象Document document = new Document();// 添加一个节Section section = document.addSection();// 设置页边距section.getPageSetup().getMargins().setAll(2);// 添加一个段落IParagraph paragraph = section.addParagraph();// 自定义 HTML 字符串String htmlString = "<!DOCTYPE html>\n" +"<html lang=\"zh-CN\">\n" +"<head>\n" +" <meta charset=\"UTF-8\">\n" +" <title>季度销售报告</title>\n" +" <style>\n" +" body {\n" +" font-family: \"Microsoft YaHei\", sans-serif;\n" +" line-height: 1.6;\n" +" padding: 20px;\n" +" }\n" +" table {\n" +" border-collapse: collapse;\n" +" width: 60%;\n" +" margin-top: 20px;\n" +" }\n" +" th, td {\n" +" border: 1px solid #666;\n" +" padding: 8px 12px;\n" +" text-align: center;\n" +" }\n" +" th {\n" +" background-color: #f2f2f2;\n" +" }\n" +" </style>\n" +"</head>\n" +"<body>\n" +"\n" +" <h2>2024 年第一季度销售报告</h2>\n" +"\n" +" <p>本季度销售数据稳中有升,各大区整体完成情况良好,以下为关键区域销售业绩摘要:</p>\n" +"\n" +" <table>\n" +" <tr>\n" +" <th>地区</th>\n" +" <th>负责人</th>\n" +" <th>销售额(万元)</th>\n" +" <th>完成率</th>\n" +" </tr>\n" +" <tr>\n" +" <td>西南地区</td>\n" +" <td>王磊</td>\n" +" <td>132</td>\n" +" <td>110%</td>\n" +" </tr>\n" +" <tr>\n" +" <td>华中地区</td>\n" +" <td>陈莉丽</td>\n" +" <td>98</td>\n" +" <td>95%</td>\n" +" </tr>\n" +" <tr>\n" +" <td>东北地区</td>\n" +" <td>刘雨桐</td>\n" +" <td>85</td>\n" +" <td>102%</td>\n" +" </tr>\n" +" </table>\n" +"\n" +"</body>\n" +"</html>\n";// 将 HTML 字符串添加到段落中paragraph.appendHTML(htmlString);// 将文档保存为 Word 文件document.saveToFile("E:/Administrator/Python1/output/HTML字符串转Word.docx", FileFormat.Docx);document.dispose();} }
总结
本教程简要介绍了怎样在 Java 中将 HTML 转换为 Word,包括了转换 HTML 文件和转换 HTML 字符串为 Word 文档。