在日常办公中,将 excel 文件转换为 pdf 是一个常见的需求。但是手动操作不仅繁琐,而且还容易出错。如果你正在寻找一种更高效的方法,不妨试试用 python 来自动化这个过程。今天我们就来看看,如何借助 spire.xls for python,用几行代码轻松实现 excel 转 pdf,显著提升你的工作效率。
前期准备
在开始转换之前,我们需要安装必要的python库: spire.xls for python。
spire.xls for python 是一个强大、独立、专门用于处理 excel 文件的库。在对文件进行各项操作时,它可以完成绝大多数的操作,同时还不依赖于 excel 软件。我们在遇到以下场景时,便可以用到它在 excel 转换 pdf 的功能:
- 财务报表pdf归档时,我们希望使用 pdf
- 销售数据可视化分享,pdf 更加美观专业
- 自动化报告生成系统,报告使用 pdf 存储
最简单的安装 spire.xls for python 的方法是使用 pip 命令安装:
pip install spire.xls
也可以从我们的官网下载 spire.xls for python,解压缩后从“lib”文件夹中获取 .whl 文件。 然后,运行以下命令安装 spire.xls for python 和 plum-dispatch v1.7.4。
如果你在安装过程中遇到任何问题,可以参考官方详细的安装指南。
pip install e:\
产品\spire.xls.python_13.5.0\lib\spire.xls-13.5.0-py3-none-any.whl
将整个 excel 工作薄转为 pdf 文件
当我们需要将包含多个工作表的 excel 文件整体转换为 pdf 时,可以使用 workbook. savetofile(self ,filename:str) 方法。转换后,每个工作表将成为 pdf 文件中的独立页面。
具体步骤如下:
- 使用 workbook.loadfromfile() 方法加载 excel 文件。
- 使用 workheet.pagesetup 属性设置每个工作表的页边距,这些页边距即为生成的 pdf 文件的白边。
- 使用 workbook.convertersetting 对象下的属性设置 excel 到 pdf 的转换选项。
- 使用 workbook.savetofile() 方法将整个 excel 工作簿转换为 pdf 文件。
from spire.xls import * from spire.xls.common import * # 创建 workbook 对象 workbook = workbook() # 加载 excel 工作簿 workbook.loadfromfile("microsoft excel 工作表.xlsx") # 设置所有工作表的打印格式 for sheet in workbook.worksheets: # 获取页面设置对象 pagesetup = sheet.pagesetup # 设置页边距(单位:英寸) pagesetup.topmargin = 0.3 pagesetup.bottommargin = 0.3 pagesetup.leftmargin = 0.3 pagesetup.rightmargin = 0.3 # 设置转换选项:工作表适应页面 workbook.convertersetting.sheetfittopage = true # 将整个工作簿转换为 pdf workbook.savetofile("某公司数据报告.pdf", fileformat.pdf) # 释放资源 workbook.dispose()
效果预览:
使用 python 将整个 excel 工作簿转换为 pdf
将指定 excel 工作表转为 pdf
当我们处理一些综合性强的 excel 文件,只需要转换工作簿中的某些特定工作表时,就可以使用 worksheet.savetopdf(filename:str) 方法。比如只需要将 excel 的汇总表或图表单独转换,这个方法只会输出包含一页的 pdf 文件。
关键步骤如下:
- 使用 workbook.loadfromfile() 方法加载 excel 文件。
- 使用 workbook.worksheets[] 属性获取特定工作表。
- 使用 workheet.pagesetup 属性设置该工作表的页边距,即生成的 pdf 文件的白边。
- 使用 workbook.convertersetting 对象下的属性设置 excel 到 pdf 的转换选项。
- 使用 worksheet.savetopdf() 方法将该工作表转换为 pdf 文件。
from spire.xls import * from spire.xls.common import * # 创建 workbook 对象 workbook = workbook() # 加载 excel 文件 workbook.loadfromfile("microsoft excel 工作表.xlsx") # 获取第二个工作表(索引从0开始) sheet = workbook.worksheets[1] # 设置页面格式 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("某公司产品销售情况表.pdf") # 释放资源 workbook.dispose()
效果预览:
通过 python 将指定的工作表转换为 pdf
将指定 excel 单元格区域转换为 pdf
当我们只需要转换某个工作表中的指定区域时,巧妙使用打印设置 sheet.pagesetup.printarea = "a1:d10" 来确定我们要转换的 excel 单元格区域。随后便可以得到一个包含指定 excel 单元格区域和其他所有工作表的 pdf 文件了。
至于如何将将单元格区域对应的页面从 pdf 文件中分离,还请参考官方网站关于python 拆分 pdf 页面的教程文档。 在本文中,我们仅关注 spire.xls for python 的 excel 转 pdf 部分。
关键步骤如下:
- 使用 workbook.loadfromfile() 方法加载 excel 文件。
- 使用 workbook.worksheets[] 属性获取特定工作表。
- 使用 sheet.pagesetup.printarea = "a1:d10" 指定要转换的单元格区域。
- 使用 sheet.pagesetup 属性设置页边距,即生成的 pdf 文件的白边。
- 使用 sheet.pagesetup.orientation = pageorientationtype 属性设置页面方向。
- 使用 workbook.savetofile() 方法将整个 excel 工作簿转换为 pdf 文件。
from spire.xls import * from spire.xls.common import * # 创建workbook对象 workbook = workbook() # 加载excel文件 workbook.loadfromfile(r"d:\files1\博客\p2\microsoft excel 工作表.xlsx") # 获取第一个工作表(索引从0开始) sheet = workbook.worksheets[0] # 设置要转换的单元格区域 sheet.pagesetup.printarea = "a2:f28" # 设置页边距(单位:英寸) sheet.pagesetup.topmargin = 0.3 sheet.pagesetup.bottommargin = 0.3 sheet.pagesetup.leftmargin = 0.3 sheet.pagesetup.rightmargin = 0.3 # 设置页面方向:横向 sheet.pagesetup.orientation = pageorientationtype.landscape # 将整个工作簿转换为pdf workbook.savetofile("某公司产品销售情况表-纯表.pdf", fileformat.pdf) # 释放资源 workbook.dispose()
效果预览:
使用 python 将指定单元格区域转化为 pdf 文件
结语
通过本文,我们了解了使用 python 将 excel 转换为 pdf 的三种高效方法。无论是需要完整的工作簿转换、精选的工作表导出,还是特定的某一块单元格区域的操作,spire.xls for python 都能提供简单而强大的解决方案。
在实际工作中,这些代码可以被封装成脚本或集成到自动化工作流中,显著提升你的工作效率,还能有效减少人工出错的机会。
到此这篇关于python使用spire.xls实现excel转pdf的实践指南的文章就介绍到这了,更多相关python excel转pdf内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论