在日常办公和开发中,经常会遇到需要将 Excel 文件(.xls 或 .xlsx)转换为 PDF 格式的场景。例如:
- 将财务报表以 PDF 格式分享,保证排版不会错乱;
- 将数据统计表导出为 PDF,方便跨平台浏览;
- 将 Excel 文件转为 PDF,以便直接打印。
Spire.XLS for Java 提供了简洁的 API,可以轻松完成 Excel 到 PDF 的转换,而且无需依赖 Microsoft Office 或 Adobe Acrobat。下面我们就来看看具体实现步骤。
步骤 1:引入 Spire.XLS for Java
在使用前,需要将 Spire.XLS for Java 引入到项目中。假如你使用 Maven 管理项目,可以在 pom.xml 中添加以下依赖:
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>https://repo.e-iceblue.com/nexus/content/groups/public/</url>
</repository>
</repositories>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.xls</artifactId>
<version>15.7.7</version>
</dependency>
(如果使用免费版本,请替换为对应的依赖坐标或直接导入 jar 包。)
步骤 2:加载 Excel 并转换为 PDF
下面的示例代码展示了如何使用 Spire.XLS for Java 将 Excel 文件加载并导出为 PDF。
import com.spire.xls.*;
public class ExcelToPdf {
public static void main(String[] args) {
// 创建 Workbook 对象
Workbook workbook = new Workbook();
// 加载 Excel 文件
workbook.loadFromFile("Sample.xlsx");
// 保存为 PDF 格式
workbook.saveToFile("Output.pdf", FileFormat.PDF);
}
}
运行以上代码后,原始 Excel 文件 Sample.xlsx 就会被成功转换为 PDF 文件 Output.pdf。
步骤 3:自定义 PDF 导出设置(可选)
Spire.XLS for Java 还支持在导出时进行更多控制,例如设置纸张大小、页面方向、是否仅导出某个工作表等。以下示例演示如何只将第一个工作表导出为 PDF:
import com.spire.xls.*;
public class ExcelToPdfCustom {
public static void main(String[] args) {
Workbook workbook = new Workbook();
workbook.loadFromFile("Sample.xlsx");
// 获取第一个工作表
Worksheet sheet = workbook.getWorksheets().get(0);
// 将当前工作表保存为 PDF
sheet.saveToPdf("Sheet1.pdf");
}
}
你还可以设置页面为横向、指定纸张大小等,保证生成的 PDF 符合打印或排版需求。
总结
本文介绍了如何在 Java 项目中使用 Spire.XLS for Java 将 Excel 文件转换为 PDF。核心步骤非常简单:
- 引入 Spire.XLS for Java 库;
- 使用 Workbook.loadFromFile() 加载 Excel 文件;
- 调用 saveToFile() 方法将文件导出为 PDF。
通过这些 API,不仅可以实现 整个 Excel 文件到 PDF 的转换,还可以 按工作表、按自定义设置导出,灵活满足不同需求。