Java实现将Excel转为HTML的完整示例

 更新时间:2026年03月10日 08:18:20   作者:咕白m625  
在 Web 应用开发中,经常需要将 Excel 报表以网页形式展示,本文将介绍如何在 Java 中使用免费库 Free Spire.XLS for Java 将 Excel 文件转换为 HTML 格式,感兴趣的小伙伴可以了解下

引言

在 Web 应用开发中,经常需要将 Excel 报表以网页形式展示,便于在线预览或嵌入系统。本文将介绍如何在 Java 中使用免费库 Free Spire.XLS for Java 将 Excel 文件转换为 HTML 格式,包含整个工作簿转换、指定工作表转换、图片嵌入等实用场景。代码简洁,无需安装 Microsoft Office。

环境配置

添加依赖(Maven)

在项目的 pom.xml 中添加以下仓库和依赖:

<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <name>e-iceblue</name>
        <url>https://repo.e-iceblue.com/nexus/content/groups/public/</url>
    </repository>
</repositories>

<dependency>
    <groupId>e-iceblue</groupId>
    <artifactId>spire.xls.free</artifactId>
    <version>16.3.1</version>
</dependency>

如果不使用 Maven,可手动下载 Jar 包导入项目。

基础转换:整个 Excel 工作簿转 HTML

该方案可将 Excel 文件(支持.xls/.xlsx)完整转换为 HTML,保留单元格样式、合并单元格、图片等基础格式:

代码

import com.spire.xls.FileFormat;
import com.spire.xls.Workbook;

public class ExcelToHtml {
    public static void main(String[] args) {
        // 1. 加载 Excel 文档
        Workbook workbook = new Workbook();
        workbook.loadFromFile("sample.xlsx");

        // 2. 保存为 HTML
        workbook.saveToFile("output/whole_workbook.html", FileFormat.HTML);
        System.out.println("转换完成!");
    }
}

运行后,生成的 HTML 会保留 Excel 中的多个 Sheet,浏览器中可通过底部的标签页切换。

进阶:转换指定工作表并嵌入图片

有时只需要导出某个特定工作表(如“销售数据”),并且希望表格中的图片直接嵌入 HTML(而非外部链接),可使用 HTMLOptions 类进行配置。

代码

import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
import com.spire.xls.core.spreadsheet.HTMLOptions;

public class SheetToHtmlWithImage {
    public static void main(String[] args) {
        // 1. 加载 Excel
        Workbook workbook = new Workbook();
        workbook.loadFromFile("product.xlsx");

        // 2. 获取第一个工作表
        Worksheet sheet = workbook.getWorksheets().get(0);

        // 3. 设置 HTML 选项:图片嵌入
        HTMLOptions options = new HTMLOptions();
        options.setImageEmbedded(true); // true 表示将图片转为 base64 嵌入 HTML

        // 4. 保存指定工作表为 HTML
        sheet.saveToHtml("output/single_sheet.html", options);
        System.out.println("单个工作表转换成功,图片已嵌入。");
    }
}

通过 setImageEmbedded(true),图片数据直接写入 HTML,分享单个文件即可显示图片。

常见问题

1. 中文字体显示异常?

生成的 HTML 依赖浏览器解析字体。如果目标环境(如 Linux 服务器)缺少中文字体,可确保系统安装了常用字体(如 微软雅黑)。

2. 图片未显示?

确认 setImageEmbedded(true) 已设置。如果仍不显示,检查 Excel 中图片是否为嵌入对象(而非链接图片)。

3. 数据量过大导致 HTML 体积大?

可考虑先筛选所需数据,再转换;在导出整个工作表时无法直接限制范围,需预处理好 Excel 文件。

总结

本文通过几个典型示例,展示了如何利用 Java 实现 Excel 转 HTML。整个过程无需 Office 环境,代码简洁,易于集成到 Java 项目中。开发者可以根据实际需求调整选项,达到理想的输出效果。

注意:免费版有工作表数量限制,一般日常使用足够。

到此这篇关于Java实现将Excel转为HTML的完整示例的文章就介绍到这了,更多相关Java Excel转HTML内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 使用spring框架实现数据库事务处理方式

    使用spring框架实现数据库事务处理方式

    这篇文章主要介绍了使用spring框架实现数据库事务处理方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • java9新特性Reactive Stream响应式编程 API

    java9新特性Reactive Stream响应式编程 API

    这篇文章主要为大家介绍了java9新特性响应式编程API的特点详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-03-03
  • Java通过反射,如何动态修改注解的某个属性值

    Java通过反射,如何动态修改注解的某个属性值

    这篇文章主要介绍了Java通过反射,动态修改注解的某个属性值操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • JAVA调用JavaScript的方法示例

    JAVA调用JavaScript的方法示例

    本文主要介绍了JAVA调用JavaScript的方法示例,主要介绍了两种方式,一种是使用Java的ScriptEngine接口,另一种是使用Java的URLConnection类来获取JS文件,具有一定的参考价值,感兴趣的可以了解一下
    2024-01-01
  • 基于CopyOnWriteArrayList并发容器(实例讲解)

    基于CopyOnWriteArrayList并发容器(实例讲解)

    下面小编就为大家带来一篇基于CopyOnWriteArrayList并发容器(实例讲解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • SpringCache快速使用及入门案例

    SpringCache快速使用及入门案例

    Spring Cache 是Spring 提供的一整套的缓存解决方案,它不是具体的缓存实现,本文主要介绍了SpringCache快速使用及入门案例,感兴趣的可以了解一下
    2023-08-08
  • Windows 10卸载JDK1.8超详细图文教程

    Windows 10卸载JDK1.8超详细图文教程

    这篇文章主要介绍了Windows 10卸载JDK1.8超详细图文教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-03-03
  • Java初学之继承与多态

    Java初学之继承与多态

    这篇文章主要介绍了Java 继承与多态的深入理解的相关资料,子类继承父类的特征和行为,使得子类具有父类的各种属性和方法。或子类从父类继承方法,使得子类具有父类相同的行为,需要的朋友可以参考下
    2021-07-07
  • SpringBoot中静态访问配置属性的解决方案对比

    SpringBoot中静态访问配置属性的解决方案对比

    在SpringBoot开发中,静态访问配置信息是一个常见需求,尤其是在工具类中直接获取配置值,下面我们就来看看几个常用的方法,大家可以根据需要选择
    2025-03-03
  • Java生成UUID的常用方式示例代码

    Java生成UUID的常用方式示例代码

    UUID保证对在同一时空中的所有机器都是唯一的,通常平台会提供生成的API,按照开放软件基金会(OSF)制定的标准计算,用到了以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字,下面这篇文章主要给大家介绍了关于Java生成UUID的常用方式,需要的朋友可以参考下
    2023-05-05

最新评论