Java实战Excel转HTML完整代码示例

作者:互联网

2026-03-20

Excel

引言

Web开发常需将Excel数据转为网页格式,本文详解Java环境下通过Free Spire.XLS实现Excel转HTML的完整方案,涵盖工作簿转换、指定表导出及图片嵌入等核心功能。

环境配置

1. 添加依赖(Maven)

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

<repositories>
    <repository>
        <id>com.e-iceblueid>
        <name>e-icebluename>
        <url>url>
    repository>
repositories>

<dependency>
    <groupId>e-icebluegroupId>
    <artifactId>spire.xls.freeartifactId>
    <version>16.3.1version>
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 文件。

总结

本方案提供了从基础到进阶的Excel转HTML实现方法,通过Free Spire.XLS可灵活处理多表转换、图片嵌入等需求,为Web集成提供高效解决方案。

相关标签:

Java 实现 Excel 转 HTML:完整示例