Java 实现Excel转HTML、或HTML转Excel

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();

    }

}

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

中文技术支持https://www.e-iceblue.com/forum/forum-f16.html?sid=8e7a68eedac8c190c2c8a3c98a6afefa

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/959230.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

迅为RK3568开发板篇OpenHarmony实操HDF驱动控制LED-添加内核编译

编译内核时将该 HDF 驱动编译到镜像中&#xff0c;接下来编写驱动编译脚本 Makefile&#xff0c;代码如下所示&#xff1a; 加入编译体系&#xff0c;填加模块目录到 drivers/hdf_core/adapter/khdf/linux/Makefile 文件 更多内容可以关注&#xff1a;迅为RK3568开发板篇OpenHa…

【含开题报告+文档+PPT+源码】基于SpringBoot的校园跑腿管理系统

开题报告 本文旨在探讨校园跑腿系统的设计与实现&#xff0c;通过深入研究与分析&#xff0c;实现了一套包含用户管理、发布跑腿单、跑腿抢单、跑腿单评论、在线留言以及用户在线充值等功能的综合性系统。该系统以提高校园内物品跑腿与配送效率为核心目标&#xff0c;为广大学…

|Python新手小白中级教程|第三十一章:日期与时间(time库使用指令——深化)——time库的9种常见函数【实用干货,一定要收藏!】

文章目录 前言导入一、基础函数&#xff1a;time.time() time.localtime() time.mktime()1.time函数2.localtime函数3.mktime函数 二、更加复杂的函数&#xff1a;gmtime函数,asctime函数,ctime函数4.gmtime函数5.asctime函数6.ctime函数 三、应用型&#xff1a;sleep函数&…

【以音频软件FFmpeg为例】通过Python脚本将软件路径添加到Windows系统环境变量中的实现与原理分析

在Windows系统中&#xff0c;你可以通过修改环境变量 PATH 来使得 ffmpeg.exe 可在任意路径下直接使用。要通过Python修改环境变量并立即生效&#xff0c;如图&#xff1a; 你可以使用以下代码&#xff1a; import os import winreg as reg# ffmpeg.exe的路径 ffmpeg_path …

计算机网络三张表(ARP表、MAC表、路由表)总结

参考&#xff1a; 网络三张表&#xff1a;ARP表, MAC表, 路由表&#xff0c;实现你的网络自由&#xff01;&#xff01;_mac表、arp表、路由表-CSDN博客 网络中的三张表&#xff1a;ARP表、MAC表、路由表 首先要明确一件事&#xff0c;如果一个主机要发送数据&#xff0c;那么必…

C++11 可变参数模版

目录 1.可变参数模版 1.1概念 1.2递归方式展开参数包 1.3逗号表达式展开参数包 1.可变参数模版 1.1概念 C11的新特性可变参数模板&#xff0c;这是一种允许模板函数或模板类接受任意数量参数的特性。可变参数模板极大地增强了模板的灵活性和表达能力&#xff0c;使得编写…

React和Vue有什么区别,如何选择?

React和Vue有什么区别&#xff0c;如何选择&#xff1f; React 和 Vue 是当前最受欢迎的前端框架之一&#xff0c;两者在开发者中都有极高的声誉。它们都旨在帮助开发人员构建用户界面&#xff0c;但在实现方式和适用场景上有所不同。如果你正考虑在项目中选择 React 或 Vue&a…

Yocto项目 - 解读CROss PlatformS (CROPS)

一、概述 Yocto项目是一个用于创建自定义Linux发布版本的工具集成项目&#xff0c;在应对复杂应用场景时能提供高度可自定义性。但是在多端机应用中&#xff0c;如何在不同的平台上可靠地完成构建工作&#xff1f;CROss PlatformS (CROPS)即展示了其重要作用。 CROPS是Yocto项…

Electron学习笔记,安装环境(1)

1、支持win7的Electron 的版本是18&#xff0c;这里node.js用的是14版本&#xff08;node-v14.21.3-x86.msi&#xff09;云盘有安装包 Electron 18.x (截至2023年仍在维护中): Chromium: 96 Node.js: 14.17.0 2、安装node环境&#xff0c;node-v14.21.3-x86.msi双击运行选择安…

如何快速开发LabVIEW项目,成为LabVIEW开发的高手

发现了一篇多年前写的文章&#xff0c;转发到这里 如何快速开发LabVIEW项目&#xff0c;成为LabVIEW开发的高手。 如果您手里有LabVIEW项目&#xff0c;领导催的又很紧&#xff0c;该怎么办&#xff1f; 如果您公司规模小&#xff0c;就想把LabVIEW项目快速搞定&#xff0c;有什…

RTMP|RTSP播放器只解码视频关键帧功能探讨

技术背景 我们在做RTMP|RTSP直播播放器的时候&#xff0c;遇到过这样的技术诉求&#xff0c;在一些特定的应用场景中&#xff0c;可能只需要关键帧的信息&#xff0c;例如视频内容分析系统&#xff0c;可能只对关键帧进行分析&#xff0c;以提取特征、检测对象或场景变化。鉴于…

Lua 环境的安装

1.安装Lua运行环境 本人采用的是在windows系统中使用cmd指令方式进行安装&#xff0c;安装指令如下&#xff1a; winget install "lua for windows" 也曾使用可执行程序安装过&#xff0c;但由于电脑是加密电脑&#xff0c;最后都已失败告终。使用此方式安装可以安…

Prometheus+grafana实践:Doris数据库的监控

文章来源&#xff1a;乐维社区 Doris数据库背景 Doris&#xff08;Apache Doris&#xff09;是一个现代化的MPP&#xff08;Massive Parallel Processing&#xff0c;大规模并行处理&#xff09;数据库&#xff0c;主要用于在线分析处理&#xff08;OLAP&#xff09;场景。 D…

Spring Boot整合JavaMail实现邮件发送

一. 发送邮件原理 发件人【设置授权码】 - SMTP协议【Simple Mail TransferProtocol - 是一种提供可靠且有效的电子邮件传输的协议】 - 收件人 二. 获取授权码 开通POP3/SMTP&#xff0c;获取授权码 授权码是QQ邮箱推出的&#xff0c;用于登录第三方客户端的专用密码。适用…

FPGA实现光纤通信(3)——光纤8b/10b编码数据回环

前言 光纤通信属于高速串行通信,具有较高的数据传输速率,通常用于服务器以及通信设备之间用于高速数据交换,对于xilinx 7系列的FPGA,内部具有集成的高速接口用于实现光纤通信。本次就来实现8b/10b编码数据回环。 测试环境:vivado版本:2020.02 FPGA芯片:XC7K70T 测试说…

Linux网络之TCP

Socket编程--TCP TCP与UDP协议使用的套接字接口比较相似, 但TCP需要使用的接口更多, 细节也会更多. 接口 socket和bind不仅udp需要用到, tcp也需要. 此外还要用到三个函数: 服务端 1. int listen(int sockfd, int backlog); 头文件#include <sys/socket.h> 功能: …

如何设计浪漫风格的壁纸

一、选择浪漫的色彩 柔和色调&#xff1a; 粉色系&#xff1a;粉色是浪漫的经典色彩&#xff0c;包括淡粉色、玫瑰粉、樱花粉等&#xff0c;能够营造出温馨和甜蜜的氛围。 紫色系&#xff1a;紫色带有神秘和高贵的感觉&#xff0c;如薰衣草紫、淡紫色等&#xff0c;适合营造浪…

PBFT算法

在我的博客中对于RAFT算法也有详细的介绍&#xff0c;raft算法包含三种角色&#xff0c;分别是&#xff1a;跟随者&#xff08; follower &#xff09;&#xff0c;候选人&#xff08;candidate &#xff09;和领导者&#xff08; leader &#xff09;。集群中的一个节点在某一…

第24篇 基于ARM A9处理器用汇编语言实现中断<六>

Q&#xff1a;怎样设计ARM处理器汇编语言程序使用定时器中断实现实时时钟&#xff1f; A&#xff1a;此前我们曾使用轮询定时器I/O的方式实现实时时钟&#xff0c;而在本实验中将采用定时器中断的方式。新增第三个中断源A9 Private Timer&#xff0c;对该定时器进行配置&#…

深度学习笔记——循环神经网络之LSTM

大家好&#xff0c;这里是好评笔记&#xff0c;公主号&#xff1a;Goodnote&#xff0c;专栏文章私信限时Free。本文详细介绍面试过程中可能遇到的循环神经网络LSTM知识点。 文章目录 文本特征提取的方法1. 基础方法1.1 词袋模型&#xff08;Bag of Words, BOW&#xff09;工作…