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

相关文章

  • Python输入输出从键盘到文件实战全面指南

    Python输入输出从键盘到文件实战全面指南

    这篇文章主要为大家介绍了Python输入输出从键盘到文件实战全面指南,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • Keras: model实现固定部分layer,训练部分layer操作

    Keras: model实现固定部分layer,训练部分layer操作

    这篇文章主要介绍了Keras: model实现固定部分layer,训练部分layer操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • Python中re.findall()用法详解

    Python中re.findall()用法详解

    本文主要介绍了Python中re.findall()用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • python入门课程第三讲之编码规范知多少

    python入门课程第三讲之编码规范知多少

    这篇文章主要介绍了python入门课程第三讲之编码规范知多少,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • django配置使用asgi的实现步骤

    django配置使用asgi的实现步骤

    本文主要介绍了django配置使用asgi的实现步骤,支持 ASGI 协议能处理传统HTTP请求,也能支持实时WebSocket通信,具有一定的参考价值,感兴趣的可以了解一下
    2025-03-03
  • python使用信号量动态更新配置文件的操作

    python使用信号量动态更新配置文件的操作

    这篇文章主要介绍了python使用信号量动态更新配置文件的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • Python的强大HTTP库Requests基本使用

    Python的强大HTTP库Requests基本使用

    这篇文章主要为大家介绍了Python的强大HTTP库Requests基本使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • Python读取图片的方法详解

    Python读取图片的方法详解

    这篇文章主要为大家详细介绍了Python中读取图片的实现方法,文中的示例代码简洁易懂,具有一定的参考价值,需要的小伙伴可以跟随小编一起学习一下
    2023-08-08
  • sklearn中make_blobs的用法详情

    sklearn中make_blobs的用法详情

    这篇文章主要介绍了sklearn中make_blobs的用法详情,sklearn中的make_blobs函数主要是为了生成数据集的,下面文章的学习内容,需要的小伙伴可以参考一下
    2022-01-01
  • Python中函数相关的变量作用域

    Python中函数相关的变量作用域

    这篇文章主要介绍了Python中函数相关的变量作用域,变量的作用域是指程序代码能够访问该变量的区域,如果超出该区域,在访问时就会出现错误,需要的朋友可以参考下
    2023-08-08

最新评论