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

相关推荐
我命由我123453 小时前
Kotlin 数据容器 - List(List 概述、创建 List、List 核心特性、List 元素访问、List 遍历)
java·开发语言·jvm·windows·java-ee·kotlin·list
武子康5 小时前
Java-80 深入浅出 RPC Dubbo 动态服务降级:从雪崩防护到配置中心秒级生效
java·分布式·后端·spring·微服务·rpc·dubbo
YuTaoShao7 小时前
【LeetCode 热题 100】131. 分割回文串——回溯
java·算法·leetcode·深度优先
源码_V_saaskw8 小时前
JAVA图文短视频交友+自营商城系统源码支持小程序+Android+IOS+H5
java·微信小程序·小程序·uni-app·音视频·交友
超浪的晨8 小时前
Java UDP 通信详解:从基础到实战,彻底掌握无连接网络编程
java·开发语言·后端·学习·个人开发
双力臂4049 小时前
Spring Boot 单元测试进阶:JUnit5 + Mock测试与切片测试实战及覆盖率报告生成
java·spring boot·后端·单元测试
Edingbrugh.南空9 小时前
Aerospike与Redis深度对比:从架构到性能的全方位解析
java·开发语言·spring
CodeCraft Studio9 小时前
借助Aspose.HTML控件,在 Python 中将 HTML 转换为 Markdown
开发语言·python·html·markdown·aspose·html转markdown·asposel.html
QQ_4376643149 小时前
C++11 右值引用 Lambda 表达式
java·开发语言·c++
永卿0019 小时前
设计模式-迭代器模式
java·设计模式·迭代器模式