Python使用Spire.XLS实现Excel转PDF的实践指南

 更新时间:2025年07月15日 10:41:02   作者:E-iceblue  
在日常办公中,将 Excel 文件转换为 PDF 是一个常见的需求,但是手动操作不仅繁琐,而且还容易出错,下面我们就来看看如何借助 Spire.XLS for Python,用几行代码轻松实现 Excel 转 PDF吧

在日常办公中,将 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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 在PyTorch中Tensor的查找和筛选例子

    在PyTorch中Tensor的查找和筛选例子

    今天小编就为大家分享一篇在PyTorch中Tensor的查找和筛选例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • 根据DataFrame某一列的值来选择具体的某一行方法

    根据DataFrame某一列的值来选择具体的某一行方法

    今天小编就为大家分享一篇根据DataFrame某一列的值来选择具体的某一行方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • python爬虫爬取幽默笑话网站

    python爬虫爬取幽默笑话网站

    这篇文章主要介绍了python爬虫爬取幽默笑话网站,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • py3nvml实现GPU相关信息读取的案例分析

    py3nvml实现GPU相关信息读取的案例分析

    这篇文章主要介绍了py3nvml实现GPU相关信息读取,此时就可以考虑使用py3nvml这样的工具,针对于GPU任务执行的过程进行细化的分析,有助于提升GPU的利用率和程序执行的性能,需要的朋友可以参考下
    2022-01-01
  • 用Python实现一个简单的多线程TCP服务器的教程

    用Python实现一个简单的多线程TCP服务器的教程

    这篇文章主要介绍了用Python实现一个简单的多线程TCP服务器的教程,示例的运行环境为Windows操作系统,需要的朋友可以参考下
    2015-05-05
  • python中的queue队列类型及函数用法

    python中的queue队列类型及函数用法

    这篇文章主要介绍了python中的queue队列类型及函数用法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • 基于PyScreeze实现截屏和定位功能

    基于PyScreeze实现截屏和定位功能

    PyScreeze 是一个开源的 Python 屏幕截图模块,适用于 Python 2 和 Python 3,该项目由开源技术专家 Al Sweigart 创建,旨在提供一个简单而强大的工具,用于屏幕截图以及图像识别功能,本文就给大家介绍了基于PyScreeze实现截屏和定位功能,需要的朋友可以参考下
    2025-04-04
  • 制作Python数字华容道的实现(可选择关卡)

    制作Python数字华容道的实现(可选择关卡)

    这篇文章主要介绍了制作Python数字华容道的实现(可选择关卡),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • python字符串Intern机制详解

    python字符串Intern机制详解

    这篇文章主要介绍了python字符串Intern机制详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • pytorch使用-tensor的基本操作解读

    pytorch使用-tensor的基本操作解读

    这篇文章主要介绍了pytorch使用-tensor的基本操作解读,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12

最新评论