学习Spire.XLS 15.3.1版本的科学实践(三)

Spire Office
placeholder image
admin 发布于:2025-04-26 16:53:01
阅读:loading

Spire是e-iceblue公司的一个产品系列,专注于高效、功能丰富的文档处理解决方案。e-iceblue成立于2009年,致力于为开发者提供简单易用的文档处理工具,以满足各种业务需求。Spire 产品广泛应用于企业办公、教育、金融等多个行业。e-iceblue旗下有多个产品系列,也支持多种编程语言,如:NET、C++、Java、Python、JavaScript、Android等,本次以Spire.Office for Java支持的产品种类为例,经过一些时间的分析与摸索,实现它的组件应用的无水印和页数限制,以时下最新的版本为例摸索出它的科学实现分享。特别说明:只为单纯的学习摸索与自我突破,商业软件请勿直接使用于生产环境(购买商业授权)。

1.基本介绍

Spire.XLS for Java 是一款专业的 Java Excel 组件,开发人员使用它可以在 Java 应用程序中轻松实现创建、操作、转换和打印 Excel 工作表,并且运行环境无需安装 Microsoft Office 或 Microsoft Excel。

Spire.XLS for Java 支持多种 Excel 文件格式,包括 Excel 97-2003 格式(.xls),以及 Excel 2007、2010、2013、2016 和 2019 格式(.xlsx、.xlsb 和 .xlsm),此外,它还支持 WPS 生成的 XLS 格式文档(.et 和 .ett)和 Open Office(.ods)格式。同时兼容大部分国产操作系统,能够在中标麒麟和中科方德等国产操作系统中正常运行。

Spire.XLS for Java 提供了一系列丰富的操作 Excel 的功能,例如创建、读取、编辑、转换和打印 Excel 工作表,调整页面设置,查找和替换数据,创建图表,创建自动筛选器,读取和插入超链接,合并或取消合并单元格,合并 Excel 文档,组合或取消组合 Excel 行和列,冻结或取消冻结窗口,添加或删除数字签名,加密或解密工作表,创建、修改及删除表格,复制行、列和单元格数据,添加、修改和删除切片器等。

2.主要功能

(1)仅需 Spire.XLS for Java,无需 Microsoft Office

Spire.XLS for Java 是一个完全独立的 Excel 组件,它运行时不依赖 Microsoft Office 或 Microsoft Excel。

(2)高质量的文档转换

Spire.XLS for Java 不仅支持将 Excel 文档高质量地转换到 PDF、HTML、CSV、TXT、ODS、图片、OFD、XML、SVG、PostScript 和 XPS 等格式,也支持将多种流行文件格式,比如 HTML、CSV 和 XML 高质量的转换为 Excel 格式。

(3)支持丰富的 Excel 元素

Spire.XLS for Java 支持丰富的 Excel 元素,包括批注、数据透视表、图表、形状、表格、图片、超链接、报表、数字签名、文本或图片水印、Excel 公式等。此外,它还提供了多种灵活的选项用于显示和打印 Excel 工作表,例如页面分隔符、页面缩放、设置数字格式、冻结窗口、页眉和页脚等设置, 以及 Excel 文档打印纸张大小和区域设置等。

(4)易于集成

Spire.XLS for Java 可以轻易地被集成到 Java 应用程序中。

3.示例实现

基于Spire.XLS实现一个简单的文档格式转换示例,在我看来就足够了,至于它的更多/更强大/更专业的API及高级用法我就不摸索了,本次基于“spire.xls-15.3.1.jar”版本,仅对它的水印和文档页数进行摸索实践,将一个有,参考如下代码:

public class HelloWorldXls {

    public static void main(String[] args) {
        Workbook workbook = new Workbook();
        workbook.loadFromStream(HelloWorldXls.class.getResourceAsStream("/Hello.xlsx") , ExcelVersion.Version2007);
        workbook.saveToFile("output/xls/Xls2Pdf.pdf" , FileFormat.PDF);
        workbook.saveToFile("output/xls/Xls2Html.html" , FileFormat.HTML);
        workbook.dispose();
    }

}

示例说明】

(1)Hello.xlsx文档含有11个Sheet页的内容,某些Sheet页中含有300多行的内容;

(2)将Xlsx文档转换为PDF格式;

(3)将Xlsx文档转换为HTML格式;

image.png

(源Xlsx文档

image.png

(Xlsx转换PDF

image.png

(Xlsx转换HTML

4.其它说明

(1)Spire.Office不是开源免费的使用,Github上有示例项目,包含了大量的示例,示例的结果就是生成了一些《Evaluation Warning》警告、水印、内容页数限制、内容文本限制等;

(2)Spire.Office公司旗下有许多编程语言支持的多种Office文档产品,都是商业付费版本,常见于各种文档格式文件的操作,都需要商业授权使用官网也有更多更详细的说明;

(3)科学实现将是改动jar中class的方式,有必要说的是这个jar文件中并未使用RSA/SF的文件class加密,也可以可以不用改动jar文件的,只需要将改动的class文件单独放置在一个jar文件中,运行是使用java -cp或jar -jar命令时优先加载改动的class,最后加载原始jar中class的形式即可实现不改动jar文件;

(4)Spire.Office下辖的各个产品组件为独立存在的各个产品,Office是提取全集产品中的汇总,囊括了全部产品组件的范围,对内提供统一的版本管理,对外提供一个产品范围体系;

(5)Spire的官网有提供Free Spire.Office for Java免费版本,免费版有篇幅限制,除了文档篇幅限制外,没有任何警告信息,但官方仅对免费版进行不定期维护,不提供技术服务或其他支持服务;

(6)本次学习摸索的目的是基于专业版进行的专业实践,实践的结果就是无水印,无内容页数限制;

(7)特别说明:只为单纯的学习摸索与自我突破,商业软件请勿直接使用于生产环境(购买商业授权)

(8)示例与相关文件下载:《Spire.XLS示例相关下载.zip》,注:下载并不包含具体的科学实现部分,只是源文件与示例输出文件;


 点赞


 发表评论

当前回复:作者

 评论列表


留言区