一、只适合三页内的PDF
使用几行代码就可以将我们的Excel转为PDF格式,
先说缺点:这个jar包是收费的,只能导出3页,不适合超过3页PDF文件的转换。
1、在pom文件中导入workbook的所需依赖:
|-----------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 | <``dependency``>
``<``groupId``>e-iceblue</``groupId``>
``<``artifactId``>spire.xls.free</``artifactId``>
``<``version``>5.1.0</``version``>
</``dependency``>
|
如果不能自动导入,则手动导入
https://mvnrepository.com/artifact/e-iceblue/spire.xls.free/5.1.0
下载jar包到本地后
2.Win+R打开运行,输入cmd回车打开doc命令窗口
java
mvn install:install-file -Dfile=D:\spire.xls.free-5.1.0.jar -DgroupId=e-iceblue -DartifactId=spire.xls.free -Dversion=5.1.0 -Dpackaging=jar
显示如下图就是成功了

3.使用workbook导出整个Excel文件的代码只需要两步,我们可以直接看代码示例:
|-------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 8 9 10 11 12 13 | ``/**
``* 使用spire简单整个Excel转换为pdf
``*
``* @param inputFilePath Excel文件路径
``* @param outputFilePath 导出的PDF文件路径
``*/
``public
static
void
totalExcelToPDF(String inputFilePath, String outputFilePath) {
``Workbook wb = ``new
Workbook();
// 引入Excel文件
``wb.loadFromFile(inputFilePath);
// 导出PDF文件
``wb.saveToFile(outputFilePath, FileFormat.PDF);
``}
|
本地文件快速测试:
java
import com.spire.xls.FileFormat;
import com.spire.xls.Workbook;
@Test
public void test() {
// Excel文件路径
String excelFilePath = "C:\\Users\\admin\\Downloads\\crossdock_plan_bol_2025-10-22 (1)\\test.xlsx";
// 加载Excel文件
Workbook workbook = new Workbook();
workbook.loadFromFile(excelFilePath);
// 构造PDF文件路径(与Excel文件同路径,仅文件扩展名不同)
String pdfFilePath = excelFilePath.replaceAll("\\.xlsx$", ".pdf");
// 保存为PDF到同路径下
workbook.saveToFile(pdfFilePath, FileFormat.PDF);
System.out.println("PDF文件已保存到: " + pdfFilePath);
}
也指定单个的sheet页转为PDF,输入指定的sheet页的下标即可。代码示例如下:
|----------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | /**
``* 使用spire将单个sheet转成pdf
``*
``* @param inputFilePath Excel文件路径
``* @param outputFilePath 导出的PDF文件路径
``* @param sheetNum 导出的sheet页下标
``*/
public
static
void
partExcelToPDF(String inputFilePath, String outputFilePath, ``int
sheetNum) {
``//加载Excel文档
``Workbook wb = ``new
Workbook();
``wb.loadFromFile(inputFilePath);
``//获取到哪一个sheet页
``Worksheet sheet = wb.getWorksheets().get(sheetNum);
``//调用方法保存为PDF格式
``sheet.saveToPdf(outputFilePath);
}
|
补充:
这个好像也可以,都差不多
Downloads - Free Spire.PDF for Java
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.pdf.free</artifactId>
<version>9.13.0</version>
</dependency>
二、多页的(破解版)
稍等待我整理更新。。。。。