将 excel 文件转换为 pdf 格式能确保文件的格式和布局在不同应用程序或设备上保持一致。此外,pdf 文件通常比 excel 文件看起来更精致、更专业,因此很多官方报告和商业文件都采用此格式。本文将介绍如何使用 spire.xls for python 通过代码将整个 excel 工作簿或仅将单个 excel 工作表转换为 pdf 文件。
安装 spire.xls for python
此方案需要 spire.xls for python 和 plum-dispatch v1.7.4。您可以通过以下 pip 命令将它们轻松安装到 vs code中。
pip install spire.xls-for-python
pip install plum-dispatch==1.7.4
如果您不清楚如何安装,请参考此教程: 如何在 vs code中安装 spire.xls for python
将整个 excel 工作薄转为 pdf 文件
spire.xls for python 提供的 workbook.savetofile() 方法可以将整个 excel 工作簿转换为一个 pdf 文件。转换后,每个工作表将在生成的 pdf 文件中显示为单独的一页。此外,要对转换选项进行设置,可使用 workbook.convertersetting 属性。以下是详细步骤:
- 创建 workbook 对象。
- 使用 workbook.loadfromfile() 方法加载 excel 文件。
- 使用 workheet.pagesetup 属性设置每个工作表的页边距,这些页边距即为生成的 pdf 文件的白边。
- 使用 workbook.convertersetting 对象下的属性设置 excel 到 pdf 的转换选项。
- 使用 workbook.savetofile() 方法将整个 excel 工作簿转换为 pdf文件。
- python
from spire.xls import *
from spire.common import *
# 创建 workbook 对象
workbook = workbook()
# 加载 excel 工作簿
workbook.loadfromfile("sample.xlsx")
# 遍历该工作簿中的所有工作表
for sheet in workbook.worksheets:
# 获取 pagesetup 对象
pagesetup = sheet.pagesetup
# 设置页边距
pagesetup.topmargin = 0.3
pagesetup.bottommargin = 0.3
pagesetup.leftmargin = 0.3
pagesetup.rightmargin = 0.3
# 设置转换时工作表适应页面
workbook.convertersetting.sheetfittopage = true
# 将excel工作簿转换为pdf文件
workbook.savetofile("topdf.pdf", fileformat.pdf)
workbook.dispose()
将指定 excel 工作表转为 pdf 文件
要将某个指定的工作表转换为 pdf,可以使用 worksheet.savetopdf() 方法。以下是详细步骤:
- 创建 workbook 对象。
- 使用 workbook.loadfromfile() 方法加载 excel 文件。
- 使用 workbook.worksheets[] 属性获取特定工作表。
- 使用 workheet.pagesetup 属性设置该工作表的页边距,即生成的 pdf 文件的白边。
- 使用 workbook.convertersetting 对象下的属性设置 excel 到 pdf 的转换选项。
- 使用 worksheet.savetopdf()方法将该工作表转换为 pdf 文件。
- python
from spire.xls import *
from spire.common import *
# 创建 workbook 对象
workbook = workbook()
# 加载excel文件
workbook.loadfromfile("sample.xlsx")
# 获取第二个工作表
sheet = workbook.worksheets[1]
# 获取 pagesetup 对象
pagesetup = sheet.pagesetup
# 设置页边距
pagesetup.topmargin = 0.3
pagesetup.bottommargin = 0.3
pagesetup.leftmargin = 0.3
pagesetup.rightmargin = 0.3
# 设置转换时工作表适应页面
workbook.convertersetting.sheetfittopage = true
# 将该工作表保存为pdf文件
sheet.savetopdf("worksheettopdf.pdf")
workbook.dispose()
申请临时 license
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用javascript。获取有效期 30 天的临时许可证。