Java 实现 Excel(XLS/ XLSX)和 HTML 格式之间的转换

Excel 是一种电子表格格式,广泛用于数据处理和分析,而HTM则是一种用于创建网页的标记语言。虽然两者在用途上存在差异,但有时我们需要将数据从一种格式转换为另一种格式,以便更好地利用和展示数据。本文将介绍如何通过 Java 实现 Excel 与 HTML 格式之间的相互转换

  • 将Excel文档转换为HTML格式
  • 将指定工作表转换为HTML格式并嵌入图片
  • 将HTML文件转换为Excel XLS/ XLSX格式

安装免费Java库 - Free Spire.XLS for Java 。该免费库可执行各种Excel文档处理操作,但有一定页面限制。我们可以该链接下载产品包后手动引入jar包,或者直接通过Maven仓库安装。

复制代码
<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <name>e-iceblue</name>
        <url>https://repo.e-iceblue.cn/repository/maven-public/</url>
    </repository>
</repositories>
<dependency>
    <groupId>e-iceblue</groupId>
    <artifactId>spire.xls.free</artifactId>
    <version>5.3.0</version>
</dependency>

将Excel文档转换为HTML格式

使用 Workbook 类的 ***saveToFile(String fileName, FileFormat.HTML)***方法可以将加载的Excel文档转换为HTML文件。代码如下:

复制代码
import com.spire.xls.*;
 
public class ExcelToHtml {
    public static void main(String[] args) {
        //加载Excel工作簿
        Workbook wb = new Workbook();
        wb.loadFromFile("表格.xlsx");
 
        //将工作簿保存为html
        wb.saveToFile("Excel转Html.html",FileFormat.HTML);
    }
}

将指定工作表转换为HTML格式并嵌入图片

除了将整个Excel工作簿转换为HTML文件外,还可以先获取一张指定的工作表,然后使用 Worksheet 类的 saveToHtml() 方法将工作表保存为 html。

转换时还能通过将 HTMLOptions 类的 setImageEmbedded() 方法设置为 true 来将工作表中的图片嵌入到HTML文件中。代码如下:

复制代码
import com.spire.xls.*;
import com.spire.xls.core.spreadsheet.HTMLOptions;
 
public class sheetToHtml {
    public static void main(String[] args) {
        //加载Excel文档
        Workbook wb = new Workbook();
        wb.loadFromFile("表格.xlsx");
 
        //获取工作表
        Worksheet sheet = wb.getWorksheets().get(1);
 
        //设置嵌入图片
        HTMLOptions options = new HTMLOptions();
        options.setImageEmbedded(true);
 
        //将工作表保存为html
        sheet.saveToHtml("SheetToHtml.html",options);
 
    }
}

将HTML文件转换为Excel XLS/ XLSX格式

该免费Excel库还支持通过 loadFromHtml() 方法加载HTML文件,然后再通过 saveToFile() 方法将其转换为Excel的XLS 或 XLSX格式。代码如下

复制代码
import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
 
public class ConvertHtmlToExcel {
    public static void main(String[] args) {
 
        // 加载 HTML 文件
        Workbook workbook = new Workbook();
        workbook.loadFromHtml("示例.html");
 
        // 将 HTML 文件保存为 Excel XLSX 或 XLS 格式
        workbook.saveToFile("Html转XLSX.xlsx", ExcelVersion.Version2016);
        workbook.saveToFile("Html转XLS.xls", ExcelVersion.Version97to2003);
        workbook.dispose();
 
    }
 
}

如遇到任何问题,可前往论坛交流。

https://www.e-iceblue.com/forum/forum-f16.html