关注微信公众号(首席摸鱼师)免费查看全部文章
前言:
在做SpringBoot项目时经常会使用Excel文件来存储复杂报表数据,但对于打印功能,前端必须要求后端是Pdf文件流格式的内容才能发起浏览器打印控件,这时候再去重写Pdf生成功能已是得不偿失,无疑加大工作量,况且时间紧迫,对于这种情况,前期最好采用类似帆软报表来实现,帆软报表支持导出多种文件格式,包括Excel、PDF、Word、SVG、CSV和内置数据集等。本次来给大家介绍一下如何将现有的Excel转换为Pdf。
实现方式:
-
使用Apache POI和iText
Apache POI是处理Excel文件(如XLS和XLSX)的强大库,而iText是一个用于创建和操作PDF文件的库。你可以结合使用这两个库来将Excel转换为PDF。
-
使用Aspose.Cells for Java(商业库)
Aspose是一个提供广泛的API来处理多种文件格式的商业库。对于Excel到PDF的转换,Aspose提供了专门的库。
第一种是一个开源的库,免费可以随意使用,但是需要使用自己代码来绘制pdf内容以及样式颜色布局等,非常麻烦,动手能力强的同学可以使用此方式,此篇文章不做讲解。
第二种是一个收费的商业库,但提供了使用版,对于Excel中sheet数量有限制,据说只能转换3个sheet页,并且导出的pdf中会带有水印,本次教程会提供去除水印方法,对于小数据量还是非常有用的,也是本次的重点讲解。
接下来就给大家讲解一下,如何在Java环境下使用Aspose.Cells将Excel文件转换为pdf推送前端下载
第一步、导入pom
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-cells</artifactId>
<version>8.5.2</version>
</dependency>
第二步、将去水印文件放到resources目录下
<License>
<Data>
<Products>
<Product>Aspose.Total for Java</Product>
<Product>Aspose.Words for Java</Product>
</Products>
<EditionType>Enterprise</EditionType>
<SubscriptionExpiry>20991231</SubscriptionExpiry>
<LicenseExpiry>20991231</LicenseExpiry>
<SerialNumber>8bfe198c-7f0c-4ef8-8ff0-acc3237bf0d7</SerialNumber>
</Data