国产化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 文档。

相关推荐
站在风口的猪110819 分钟前
《前端面试题:CSS预处理器(Sass、Less等)》
前端·css·html·less·css3·sass·html5
硅的褶皱1 小时前
对比分析LinkedBlockingQueue和SynchronousQueue
java·并发编程
MoFe11 小时前
【.net core】天地图坐标转换为高德地图坐标(WGS84 坐标转 GCJ02 坐标)
java·前端·.netcore
季鸢1 小时前
Java设计模式之观察者模式详解
java·观察者模式·设计模式
Hygge-star1 小时前
【Flask】:轻量级Python Web框架详解
css·flask·html·学习方法·web app
Fanxt_Ja2 小时前
【JVM】三色标记法原理
java·开发语言·jvm·算法
Mr Aokey2 小时前
Spring MVC参数绑定终极手册:单&多参/对象/集合/JSON/文件上传精讲
java·后端·spring
小马爱记录3 小时前
sentinel规则持久化
java·spring cloud·sentinel
长勺3 小时前
Spring中@Primary注解的作用与使用
java·后端·spring
紫乾20144 小时前
idea json生成实体类
java·json·intellij-idea