Python使用Spire.XLS實(shí)現(xiàn)Excel轉(zhuǎn)PDF的實(shí)踐指南
在日常辦公中,將 Excel 文件轉(zhuǎn)換為 PDF 是一個常見的需求。但是手動操作不僅繁瑣,而且還容易出錯。如果你正在尋找一種更高效的方法,不妨試試用 Python 來自動化這個過程。今天我們就來看看,如何借助 Spire.XLS for Python,用幾行代碼輕松實(shí)現(xiàn) Excel 轉(zhuǎn) PDF,顯著提升你的工作效率。
前期準(zhǔn)備
在開始轉(zhuǎn)換之前,我們需要安裝必要的Python庫: Spire.XLS for Python。
Spire.XLS for Python 是一個強(qiáng)大、獨(dú)立、專門用于處理 Excel 文件的庫。在對文件進(jìn)行各項(xiàng)操作時,它可以完成絕大多數(shù)的操作,同時還不依賴于 Excel 軟件。我們在遇到以下場景時,便可以用到它在 Excel 轉(zhuǎn)換 PDF 的功能:
- 財(cái)務(wù)報表PDF歸檔時,我們希望使用 PDF
- 銷售數(shù)據(jù)可視化分享,PDF 更加美觀專業(yè)
- 自動化報告生成系統(tǒng),報告使用 PDF 存儲
最簡單的安裝 Spire.XLS for Python 的方法是使用 pip 命令安裝:
pip install Spire.XLS
也可以從我們的官網(wǎng)下載 Spire.XLS for Python,解壓縮后從“lib”文件夾中獲取 .whl 文件。 然后,運(yùn)行以下命令安裝 Spire.XLS for Python 和 plum-dispatch v1.7.4。
如果你在安裝過程中遇到任何問題,可以參考官方詳細(xì)的安裝指南。
pip install E:\
產(chǎn)品\spire.xls.python_13.5.0\lib\Spire.Xls-13.5.0-py3-none-any.whl
將整個 Excel 工作薄轉(zhuǎn)為 PDF 文件
當(dāng)我們需要將包含多個工作表的 Excel 文件整體轉(zhuǎn)換為 PDF 時,可以使用 Workbook. SaveToFile(self ,fileName:str) 方法。轉(zhuǎn)換后,每個工作表將成為 PDF 文件中的獨(dú)立頁面。
具體步驟如下:
- 使用 Workbook.LoadFromFile() 方法加載 Excel 文件。
- 使用 Workheet.PageSetup 屬性設(shè)置每個工作表的頁邊距,這些頁邊距即為生成的 PDF 文件的白邊。
- 使用 Workbook.ConverterSetting 對象下的屬性設(shè)置 Excel 到 PDF 的轉(zhuǎn)換選項(xiàng)。
- 使用 Workbook.SaveToFile() 方法將整個 Excel 工作簿轉(zhuǎn)換為 PDF 文件。
from spire.xls import *
from spire.xls.common import *
# 創(chuàng)建 Workbook 對象
workbook = Workbook()
# 加載 Excel 工作簿
workbook.LoadFromFile("Microsoft Excel 工作表.xlsx")
# 設(shè)置所有工作表的打印格式
for sheet in workbook.Worksheets:
# 獲取頁面設(shè)置對象
pageSetup = sheet.PageSetup
# 設(shè)置頁邊距(單位:英寸)
pageSetup.TopMargin = 0.3
pageSetup.BottomMargin = 0.3
pageSetup.LeftMargin = 0.3
pageSetup.RightMargin = 0.3
# 設(shè)置轉(zhuǎn)換選項(xiàng):工作表適應(yīng)頁面
workbook.ConverterSetting.SheetFitToPage = True
# 將整個工作簿轉(zhuǎn)換為 PDF
workbook.SaveToFile("某公司數(shù)據(jù)報告.pdf", FileFormat.PDF)
# 釋放資源
workbook.Dispose()效果預(yù)覽:

使用 Python 將整個 Excel 工作簿轉(zhuǎn)換為 PDF
將指定 Excel 工作表轉(zhuǎn)為 PDF
當(dāng)我們處理一些綜合性強(qiáng)的 Excel 文件,只需要轉(zhuǎn)換工作簿中的某些特定工作表時,就可以使用 Worksheet.SaveToPdf(fileName:str) 方法。比如只需要將 Excel 的匯總表或圖表單獨(dú)轉(zhuǎn)換,這個方法只會輸出包含一頁的 PDF 文件。
關(guān)鍵步驟如下:
- 使用 Workbook.LoadFromFile() 方法加載 Excel 文件。
- 使用 Workbook.Worksheets[] 屬性獲取特定工作表。
- 使用 Workheet.PageSetup 屬性設(shè)置該工作表的頁邊距,即生成的 PDF 文件的白邊。
- 使用 Workbook.ConverterSetting 對象下的屬性設(shè)置 Excel 到 PDF 的轉(zhuǎn)換選項(xiàng)。
- 使用 Worksheet.SaveToPdf() 方法將該工作表轉(zhuǎn)換為 PDF 文件。
from spire.xls import *
from spire.xls.common import *
# 創(chuàng)建 Workbook 對象
workbook = Workbook()
# 加載 Excel 文件
workbook.LoadFromFile("Microsoft Excel 工作表.xlsx")
# 獲取第二個工作表(索引從0開始)
sheet = workbook.Worksheets[1]
# 設(shè)置頁面格式
pageSetup = sheet.PageSetup
pageSetup.TopMargin = 0.3
pageSetup.BottomMargin = 0.3
pageSetup.LeftMargin = 0.3
pageSetup.RightMargin = 0.3
# 設(shè)置轉(zhuǎn)換選項(xiàng)
workbook.ConverterSetting.SheetFitToPage = True
# 將該工作表單獨(dú)保存為 PDF
sheet.SaveToPdf("某公司產(chǎn)品銷售情況表.pdf")
# 釋放資源
workbook.Dispose()效果預(yù)覽:

通過 Python 將指定的工作表轉(zhuǎn)換為 PDF
將指定 Excel 單元格區(qū)域轉(zhuǎn)換為 PDF
當(dāng)我們只需要轉(zhuǎn)換某個工作表中的指定區(qū)域時,巧妙使用打印設(shè)置 sheet.PageSetup.PrintArea = "A1:D10" 來確定我們要轉(zhuǎn)換的 Excel 單元格區(qū)域。隨后便可以得到一個包含指定 Excel 單元格區(qū)域和其他所有工作表的 PDF 文件了。
至于如何將將單元格區(qū)域?qū)?yīng)的頁面從 PDF 文件中分離,還請參考官方網(wǎng)站關(guān)于Python 拆分 PDF 頁面的教程文檔。 在本文中,我們僅關(guān)注 Spire.XLS for Python 的 Excel 轉(zhuǎn) PDF 部分。
關(guān)鍵步驟如下:
- 使用 Workbook.LoadFromFile() 方法加載 Excel 文件。
- 使用 Workbook.Worksheets[] 屬性獲取特定工作表。
- 使用 sheet.PageSetup.PrintArea = "A1:D10" 指定要轉(zhuǎn)換的單元格區(qū)域。
- 使用 sheet.PageSetup 屬性設(shè)置頁邊距,即生成的 PDF 文件的白邊。
- 使用 sheet.PageSetup.Orientation = PageOrientationType 屬性設(shè)置頁面方向。
- 使用 Workbook.SaveToFile() 方法將整個 Excel 工作簿轉(zhuǎn)換為 PDF 文件。
from spire.xls import *
from spire.xls.common import *
# 創(chuàng)建Workbook對象
workbook = Workbook()
# 加載Excel文件
workbook.LoadFromFile(r"D:\files1\博客\p2\Microsoft Excel 工作表.xlsx")
# 獲取第一個工作表(索引從0開始)
sheet = workbook.Worksheets[0]
# 設(shè)置要轉(zhuǎn)換的單元格區(qū)域
sheet.PageSetup.PrintArea = "A2:F28"
# 設(shè)置頁邊距(單位:英寸)
sheet.PageSetup.TopMargin = 0.3
sheet.PageSetup.BottomMargin = 0.3
sheet.PageSetup.LeftMargin = 0.3
sheet.PageSetup.RightMargin = 0.3
# 設(shè)置頁面方向:橫向
sheet.PageSetup.Orientation = PageOrientationType.Landscape
# 將整個工作簿轉(zhuǎn)換為PDF
workbook.SaveToFile("某公司產(chǎn)品銷售情況表-純表.pdf", FileFormat.PDF)
# 釋放資源
workbook.Dispose()效果預(yù)覽:

使用 Python 將指定單元格區(qū)域轉(zhuǎn)化為 PDF 文件
結(jié)語
通過本文,我們了解了使用 Python 將 Excel 轉(zhuǎn)換為 PDF 的三種高效方法。無論是需要完整的工作簿轉(zhuǎn)換、精選的工作表導(dǎo)出,還是特定的某一塊單元格區(qū)域的操作,Spire.XLS for Python 都能提供簡單而強(qiáng)大的解決方案。
在實(shí)際工作中,這些代碼可以被封裝成腳本或集成到自動化工作流中,顯著提升你的工作效率,還能有效減少人工出錯的機(jī)會。
到此這篇關(guān)于Python使用Spire.XLS實(shí)現(xiàn)Excel轉(zhuǎn)PDF的實(shí)踐指南的文章就介紹到這了,更多相關(guān)Python Excel轉(zhuǎn)PDF內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python輸入輸出從鍵盤到文件實(shí)戰(zhàn)全面指南
這篇文章主要為大家介紹了Python輸入輸出從鍵盤到文件實(shí)戰(zhàn)全面指南,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11
Keras: model實(shí)現(xiàn)固定部分layer,訓(xùn)練部分layer操作
這篇文章主要介紹了Keras: model實(shí)現(xiàn)固定部分layer,訓(xùn)練部分layer操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06
django配置使用asgi的實(shí)現(xiàn)步驟
本文主要介紹了django配置使用asgi的實(shí)現(xiàn)步驟,支持 ASGI 協(xié)議能處理傳統(tǒng)HTTP請求,也能支持實(shí)時WebSocket通信,具有一定的參考價值,感興趣的可以了解一下2025-03-03
Python的強(qiáng)大HTTP庫Requests基本使用
這篇文章主要為大家介紹了Python的強(qiáng)大HTTP庫Requests基本使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05

