在许多商务工作流程中,Excel 文件常用于存储和分析数据。然而,在共享报告或发票时,将其转换为 PDF 能确保内容在不同设备上保持固定和可读。本文将演示如何使用 Spire.XLS for Python 将 Excel 文件轻松转换为 PDF------这是一款功能强大的库,可高效完成 Excel 文件处理与格式转换。
什么是 Spire.XLS for Python?
Spire.XLS for Python 是 E-iceblue 开发的一款专业库,用于创建、读取、编辑和转换 Excel 文件,无需安装 Microsoft Excel。它支持 XLS、XLSX、CSV、ODS 等格式,并可将工作簿导出为 PDF、HTML 或图片等多种格式。
主要优势包括:
- 离线运行 ,无需安装 Microsoft Office
- 全面兼容 各版本 Excel 文件
- 保持原始布局和公式 的准确性
- 灵活设置 页面大小、页边距、方向等选项
步骤一:安装 Spire.XLS for Python
可通过 pip 命令直接安装:
pip install Spire.XLS
安装完成后,即可在 Python 项目中操作 Excel 文件。
步骤二:加载 Excel 文件
在转换为 PDF 前,先将 Excel 文件加载到 Workbook 对象中:
python
from spire.xls import Workbook
# Create a Workbook instance
workbook = Workbook()
# Load an existing Excel file
workbook.LoadFromFile("SalesReport.xlsx")
此时文件已被加载,可进一步编辑或直接导出为 PDF。
步骤三:将 Excel 转换为 PDF
加载完成后,只需一行代码即可完成导出:
bash
# Save the workbook as a PDF file
workbook.SaveToFile("SalesReport.pdf", FileFormat.PDF)
转换后的 PDF 文件将完整保留 Excel 原有的布局、字体和颜色。
步骤四:只转换特定工作表
有时你只需导出某个工作表,而非整个工作簿。Spire.XLS 支持单独导出指定工作表:
ini
from spire.xls import Workbook, FileFormat
# Load the workbook
workbook = Workbook()
workbook.LoadFromFile("AnnualData.xlsx")
# Get the first worksheet
sheet = workbook.Worksheets[0]
# Save the worksheet as a PDF
sheet.SaveToPdf("FirstSheet.pdf")
这非常适合导出部门报告或汇总页等场景。
步骤五:自定义 PDF 设置
Spire.XLS 提供灵活的页面设置选项,可调整页面方向、纸张大小及页边距:
ini
from spire.xls import Workbook, PageOrientationType, PaperSizeType, FileFormat
# Load workbook
workbook = Workbook()
workbook.LoadFromFile("FinancialReport.xlsx")
# Get the first worksheet
sheet = workbook.Worksheets[0]
# Adjust page settings
page_setup = sheet.PageSetup
page_setup.Orientation = PageOrientationType.Landscape
page_setup.PaperSize = PaperSizeType.PaperA4
page_setup.TopMargin = 0.5
page_setup.BottomMargin = 0.5
# Save as PDF
workbook.SaveToFile("FinancialReport_A4_Landscape.pdf", FileFormat.PDF)
还可设置页眉页脚和缩放比例,确保导出的 PDF 排版整洁、美观。
步骤六:批量转换多个 Excel 文件
若需定期处理多份 Excel 报告,可通过以下脚本实现批量转换:
lua
import os
from spire.xls import Workbook, FileFormat
input_folder = "ExcelFiles"
output_folder = "PDFReports"
for filename in os.listdir(input_folder):
if filename.endswith(".xlsx"):
workbook = Workbook()
workbook.LoadFromFile(os.path.join(input_folder, filename))
pdf_name = os.path.splitext(filename)[0] + ".pdf"
workbook.SaveToFile(os.path.join(output_folder, pdf_name), FileFormat.PDF)
此脚本可一次性将文件夹中的所有 Excel 文件转换为对应的 PDF 报告,大幅节省时间。
常见问题
- PDF 字体缺失 :确保 Excel 中使用的字体已安装在系统中。
- 文件过大 :使用优化后的图片或简化格式。
- 分页不正确 :可通过
PageSetup调整页边距或缩放比例。
为什么选择 Spire.XLS 而不是 Excel 的"另存为 PDF"?
| 功能 | Excel 内置导出 | Spire.XLS for Python |
|---|---|---|
| 无需安装 Office | ❌ | ✅ |
| 支持自动化 | ❌ | ✅ |
| 批量转换 | ❌ | ✅ |
| 布局控制 | 限制较多 | 完全可控 |
| 跨平台支持 | ❌ | ✅ |
对于开发者或 IT 团队而言,Spire.XLS 提供更高效、稳定的自动化解决方案。
总结
将 Excel 转换为 PDF 可让数据更易共享且格式更安全。使用 Spire.XLS for Python ,只需几行代码即可完成高质量转换------无需 Excel、无需手动操作,并能完全控制输出样式。不论是生成报表、发票,还是可视化数据输出,Spire.XLS 都能提供高效、专业的 PDF 解决方案。