Python使用Spire.XLS實(shí)現(xiàn)Excel轉(zhuǎn)PDF的實(shí)踐指南
在日常辦公中,將 Excel 文件轉(zhuǎn)換為 PDF 是一個(gè)常見(jiàn)的需求。但是手動(dòng)操作不僅繁瑣,而且還容易出錯(cuò)。如果你正在尋找一種更高效的方法,不妨試試用 Python 來(lái)自動(dòng)化這個(gè)過(guò)程。今天我們就來(lái)看看,如何借助 Spire.XLS for Python,用幾行代碼輕松實(shí)現(xiàn) Excel 轉(zhuǎn) PDF,顯著提升你的工作效率。
前期準(zhǔn)備
在開(kāi)始轉(zhuǎn)換之前,我們需要安裝必要的Python庫(kù): Spire.XLS for Python。
Spire.XLS for Python 是一個(gè)強(qiáng)大、獨(dú)立、專門用于處理 Excel 文件的庫(kù)。在對(duì)文件進(jìn)行各項(xiàng)操作時(shí),它可以完成絕大多數(shù)的操作,同時(shí)還不依賴于 Excel 軟件。我們?cè)谟龅揭韵聢?chǎng)景時(shí),便可以用到它在 Excel 轉(zhuǎn)換 PDF 的功能:
- 財(cái)務(wù)報(bào)表PDF歸檔時(shí),我們希望使用 PDF
- 銷售數(shù)據(jù)可視化分享,PDF 更加美觀專業(yè)
- 自動(dòng)化報(bào)告生成系統(tǒng),報(bào)告使用 PDF 存儲(chǔ)
最簡(jiǎn)單的安裝 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。
如果你在安裝過(guò)程中遇到任何問(wèn)題,可以參考官方詳細(xì)的安裝指南。
pip install E:\
產(chǎn)品\spire.xls.python_13.5.0\lib\Spire.Xls-13.5.0-py3-none-any.whl
將整個(gè) Excel 工作薄轉(zhuǎn)為 PDF 文件
當(dāng)我們需要將包含多個(gè)工作表的 Excel 文件整體轉(zhuǎn)換為 PDF 時(shí),可以使用 Workbook. SaveToFile(self ,fileName:str) 方法。轉(zhuǎn)換后,每個(gè)工作表將成為 PDF 文件中的獨(dú)立頁(yè)面。
具體步驟如下:
- 使用 Workbook.LoadFromFile() 方法加載 Excel 文件。
- 使用 Workheet.PageSetup 屬性設(shè)置每個(gè)工作表的頁(yè)邊距,這些頁(yè)邊距即為生成的 PDF 文件的白邊。
- 使用 Workbook.ConverterSetting 對(duì)象下的屬性設(shè)置 Excel 到 PDF 的轉(zhuǎn)換選項(xiàng)。
- 使用 Workbook.SaveToFile() 方法將整個(gè) Excel 工作簿轉(zhuǎn)換為 PDF 文件。
from spire.xls import * from spire.xls.common import * # 創(chuàng)建 Workbook 對(duì)象 workbook = Workbook() # 加載 Excel 工作簿 workbook.LoadFromFile("Microsoft Excel 工作表.xlsx") # 設(shè)置所有工作表的打印格式 for sheet in workbook.Worksheets: # 獲取頁(yè)面設(shè)置對(duì)象 pageSetup = sheet.PageSetup # 設(shè)置頁(yè)邊距(單位:英寸) pageSetup.TopMargin = 0.3 pageSetup.BottomMargin = 0.3 pageSetup.LeftMargin = 0.3 pageSetup.RightMargin = 0.3 # 設(shè)置轉(zhuǎn)換選項(xiàng):工作表適應(yīng)頁(yè)面 workbook.ConverterSetting.SheetFitToPage = True # 將整個(gè)工作簿轉(zhuǎn)換為 PDF workbook.SaveToFile("某公司數(shù)據(jù)報(bào)告.pdf", FileFormat.PDF) # 釋放資源 workbook.Dispose()
效果預(yù)覽:
使用 Python 將整個(gè) Excel 工作簿轉(zhuǎn)換為 PDF
將指定 Excel 工作表轉(zhuǎn)為 PDF
當(dāng)我們處理一些綜合性強(qiáng)的 Excel 文件,只需要轉(zhuǎn)換工作簿中的某些特定工作表時(shí),就可以使用 Worksheet.SaveToPdf(fileName:str) 方法。比如只需要將 Excel 的匯總表或圖表單獨(dú)轉(zhuǎn)換,這個(gè)方法只會(huì)輸出包含一頁(yè)的 PDF 文件。
關(guān)鍵步驟如下:
- 使用 Workbook.LoadFromFile() 方法加載 Excel 文件。
- 使用 Workbook.Worksheets[] 屬性獲取特定工作表。
- 使用 Workheet.PageSetup 屬性設(shè)置該工作表的頁(yè)邊距,即生成的 PDF 文件的白邊。
- 使用 Workbook.ConverterSetting 對(duì)象下的屬性設(shè)置 Excel 到 PDF 的轉(zhuǎn)換選項(xiàng)。
- 使用 Worksheet.SaveToPdf() 方法將該工作表轉(zhuǎn)換為 PDF 文件。
from spire.xls import * from spire.xls.common import * # 創(chuàng)建 Workbook 對(duì)象 workbook = Workbook() # 加載 Excel 文件 workbook.LoadFromFile("Microsoft Excel 工作表.xlsx") # 獲取第二個(gè)工作表(索引從0開(kāi)始) sheet = workbook.Worksheets[1] # 設(shè)置頁(yè)面格式 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ù)覽:
通過(guò) Python 將指定的工作表轉(zhuǎn)換為 PDF
將指定 Excel 單元格區(qū)域轉(zhuǎn)換為 PDF
當(dāng)我們只需要轉(zhuǎn)換某個(gè)工作表中的指定區(qū)域時(shí),巧妙使用打印設(shè)置 sheet.PageSetup.PrintArea = "A1:D10" 來(lái)確定我們要轉(zhuǎn)換的 Excel 單元格區(qū)域。隨后便可以得到一個(gè)包含指定 Excel 單元格區(qū)域和其他所有工作表的 PDF 文件了。
至于如何將將單元格區(qū)域?qū)?yīng)的頁(yè)面從 PDF 文件中分離,還請(qǐng)參考官方網(wǎng)站關(guān)于Python 拆分 PDF 頁(yè)面的教程文檔。 在本文中,我們僅關(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è)置頁(yè)邊距,即生成的 PDF 文件的白邊。
- 使用 sheet.PageSetup.Orientation = PageOrientationType 屬性設(shè)置頁(yè)面方向。
- 使用 Workbook.SaveToFile() 方法將整個(gè) Excel 工作簿轉(zhuǎn)換為 PDF 文件。
from spire.xls import * from spire.xls.common import * # 創(chuàng)建Workbook對(duì)象 workbook = Workbook() # 加載Excel文件 workbook.LoadFromFile(r"D:\files1\博客\p2\Microsoft Excel 工作表.xlsx") # 獲取第一個(gè)工作表(索引從0開(kāi)始) sheet = workbook.Worksheets[0] # 設(shè)置要轉(zhuǎn)換的單元格區(qū)域 sheet.PageSetup.PrintArea = "A2:F28" # 設(shè)置頁(yè)邊距(單位:英寸) sheet.PageSetup.TopMargin = 0.3 sheet.PageSetup.BottomMargin = 0.3 sheet.PageSetup.LeftMargin = 0.3 sheet.PageSetup.RightMargin = 0.3 # 設(shè)置頁(yè)面方向:橫向 sheet.PageSetup.Orientation = PageOrientationType.Landscape # 將整個(gè)工作簿轉(zhuǎn)換為PDF workbook.SaveToFile("某公司產(chǎn)品銷售情況表-純表.pdf", FileFormat.PDF) # 釋放資源 workbook.Dispose()
效果預(yù)覽:
使用 Python 將指定單元格區(qū)域轉(zhuǎn)化為 PDF 文件
結(jié)語(yǔ)
通過(guò)本文,我們了解了使用 Python 將 Excel 轉(zhuǎn)換為 PDF 的三種高效方法。無(wú)論是需要完整的工作簿轉(zhuǎn)換、精選的工作表導(dǎo)出,還是特定的某一塊單元格區(qū)域的操作,Spire.XLS for Python 都能提供簡(jiǎn)單而強(qiáng)大的解決方案。
在實(shí)際工作中,這些代碼可以被封裝成腳本或集成到自動(dòng)化工作流中,顯著提升你的工作效率,還能有效減少人工出錯(cuò)的機(jī)會(huì)。
到此這篇關(guān)于Python使用Spire.XLS實(shí)現(xiàn)Excel轉(zhuǎn)PDF的實(shí)踐指南的文章就介紹到這了,更多相關(guān)Python Excel轉(zhuǎn)PDF內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python輸入輸出從鍵盤到文件實(shí)戰(zhàn)全面指南
這篇文章主要為大家介紹了Python輸入輸出從鍵盤到文件實(shí)戰(zhàn)全面指南,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11Keras: model實(shí)現(xiàn)固定部分layer,訓(xùn)練部分layer操作
這篇文章主要介紹了Keras: model實(shí)現(xiàn)固定部分layer,訓(xùn)練部分layer操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-06-06django配置使用asgi的實(shí)現(xiàn)步驟
本文主要介紹了django配置使用asgi的實(shí)現(xiàn)步驟,支持 ASGI 協(xié)議能處理傳統(tǒng)HTTP請(qǐng)求,也能支持實(shí)時(shí)WebSocket通信,具有一定的參考價(jià)值,感興趣的可以了解一下2025-03-03python使用信號(hào)量動(dòng)態(tài)更新配置文件的操作
這篇文章主要介紹了python使用信號(hào)量動(dòng)態(tài)更新配置文件的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-04-04Python的強(qiáng)大HTTP庫(kù)Requests基本使用
這篇文章主要為大家介紹了Python的強(qiáng)大HTTP庫(kù)Requests基本使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05