Python使用Spire.XLS for Python輕松實(shí)現(xiàn)將Excel轉(zhuǎn)換為PDF
在許多商務(wù)工作流程中,Excel 文件常用于存儲(chǔ)和分析數(shù)據(jù)。然而,在共享報(bào)告或發(fā)票時(shí),將其轉(zhuǎn)換為 PDF 能確保內(nèi)容在不同設(shè)備上保持固定和可讀。本文將演示如何使用 Spire.XLS for Python 將 Excel 文件輕松轉(zhuǎn)換為 PDF——這是一款功能強(qiáng)大的庫(kù),可高效完成 Excel 文件處理與格式轉(zhuǎn)換。
什么是 Spire.XLS for Python
Spire.XLS for Python 是 E-iceblue 開(kāi)發(fā)的一款專(zhuān)業(yè)庫(kù),用于創(chuàng)建、讀取、編輯和轉(zhuǎn)換 Excel 文件,無(wú)需安裝 Microsoft Excel。它支持 XLS、XLSX、CSV、ODS 等格式,并可將工作簿導(dǎo)出為 PDF、HTML 或圖片等多種格式。
主要優(yōu)勢(shì)包括:
- 離線(xiàn)運(yùn)行 ,無(wú)需安裝 Microsoft Office
- 全面兼容 各版本 Excel 文件
- 保持原始布局和公式 的準(zhǔn)確性
- 靈活設(shè)置 頁(yè)面大小、頁(yè)邊距、方向等選項(xiàng)
步驟一:安裝 Spire.XLS for Python
可通過(guò) pip 命令直接安裝:
pip install Spire.XLS
安裝完成后,即可在 Python 項(xiàng)目中操作 Excel 文件。
步驟二:加載 Excel 文件
在轉(zhuǎn)換為 PDF 前,先將 Excel 文件加載到 Workbook 對(duì)象中:
from spire.xls import Workbook
# Create a Workbook instance
workbook = Workbook()
# Load an existing Excel file
workbook.LoadFromFile("SalesReport.xlsx")
此時(shí)文件已被加載,可進(jìn)一步編輯或直接導(dǎo)出為 PDF。
步驟三:將 Excel 轉(zhuǎn)換為 PDF
加載完成后,只需一行代碼即可完成導(dǎo)出:
# Save the workbook as a PDF file
workbook.SaveToFile("SalesReport.pdf", FileFormat.PDF)
轉(zhuǎn)換后的 PDF 文件將完整保留 Excel 原有的布局、字體和顏色。
步驟四:只轉(zhuǎn)換特定工作表
有時(shí)你只需導(dǎo)出某個(gè)工作表,而非整個(gè)工作簿。Spire.XLS 支持單獨(dú)導(dǎo)出指定工作表:
from spire.xls import Workbook, FileFormat
# Load the workbook
workbook = Workbook()
workbook.LoadFromFile("AnnualData.xlsx")
# Get the first worksheet
sheet = workbook.Worksheets[0]
# Save the worksheet as a PDF
sheet.SaveToPdf("FirstSheet.pdf")
這非常適合導(dǎo)出部門(mén)報(bào)告或匯總頁(yè)等場(chǎng)景。
步驟五:自定義 PDF 設(shè)置
Spire.XLS 提供靈活的頁(yè)面設(shè)置選項(xiàng),可調(diào)整頁(yè)面方向、紙張大小及頁(yè)邊距:
from spire.xls import Workbook, PageOrientationType, PaperSizeType, FileFormat
# Load workbook
workbook = Workbook()
workbook.LoadFromFile("FinancialReport.xlsx")
# Get the first worksheet
sheet = workbook.Worksheets[0]
# Adjust page settings
page_setup = sheet.PageSetup
page_setup.Orientation = PageOrientationType.Landscape
page_setup.PaperSize = PaperSizeType.PaperA4
page_setup.TopMargin = 0.5
page_setup.BottomMargin = 0.5
# Save as PDF
workbook.SaveToFile("FinancialReport_A4_Landscape.pdf", FileFormat.PDF)
還可設(shè)置頁(yè)眉頁(yè)腳和縮放比例,確保導(dǎo)出的 PDF 排版整潔、美觀。
步驟六:批量轉(zhuǎn)換多個(gè) Excel 文件
若需定期處理多份 Excel 報(bào)告,可通過(guò)以下腳本實(shí)現(xiàn)批量轉(zhuǎn)換:
import os
from spire.xls import Workbook, FileFormat
input_folder = "ExcelFiles"
output_folder = "PDFReports"
for filename in os.listdir(input_folder):
if filename.endswith(".xlsx"):
workbook = Workbook()
workbook.LoadFromFile(os.path.join(input_folder, filename))
pdf_name = os.path.splitext(filename)[0] + ".pdf"
workbook.SaveToFile(os.path.join(output_folder, pdf_name), FileFormat.PDF)
此腳本可一次性將文件夾中的所有 Excel 文件轉(zhuǎn)換為對(duì)應(yīng)的 PDF 報(bào)告,大幅節(jié)省時(shí)間。
常見(jiàn)問(wèn)題
- PDF 字體缺失 :確保 Excel 中使用的字體已安裝在系統(tǒng)中。
- 文件過(guò)大 :使用優(yōu)化后的圖片或簡(jiǎn)化格式。
- 分頁(yè)不正確 :可通過(guò)
PageSetup調(diào)整頁(yè)邊距或縮放比例。
為什么選擇 Spire.XLS 而不是 Excel 的“另存為 PDF”
| 功能 | Excel 內(nèi)置導(dǎo)出 | Spire.XLS for Python |
|---|---|---|
| 無(wú)需安裝 Office | ? | ? |
| 支持自動(dòng)化 | ? | ? |
| 批量轉(zhuǎn)換 | ? | ? |
| 布局控制 | 限制較多 | 完全可控 |
| 跨平臺(tái)支持 | ? | ? |
對(duì)于開(kāi)發(fā)者或 IT 團(tuán)隊(duì)而言,Spire.XLS 提供更高效、穩(wěn)定的自動(dòng)化解決方案。
總結(jié)
將 Excel 轉(zhuǎn)換為 PDF 可讓數(shù)據(jù)更易共享且格式更安全。使用 Spire.XLS for Python ,只需幾行代碼即可完成高質(zhì)量轉(zhuǎn)換——無(wú)需 Excel、無(wú)需手動(dòng)操作,并能完全控制輸出樣式。不論是生成報(bào)表、發(fā)票,還是可視化數(shù)據(jù)輸出,Spire.XLS 都能提供高效、專(zhuān)業(yè)的 PDF 解決方案。
到此這篇關(guān)于Python使用Spire.XLS for Python輕松實(shí)現(xiàn)將Excel轉(zhuǎn)換為PDF的文章就介紹到這了,更多相關(guān)Python Excel轉(zhuǎn)PDF內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python實(shí)現(xiàn)pdf電子發(fā)票信息提取到excel表格
- python實(shí)現(xiàn)pdf轉(zhuǎn)word和excel的示例代碼
- 使用Python實(shí)現(xiàn)Office文檔(Word/Excel/PowerPoint)批量轉(zhuǎn)換為PDF
- 使用Python提取PDF表格到Excel文件的操作步驟
- Python將Office文檔(Word、Excel、PDF、PPT)轉(zhuǎn)為OFD格式的實(shí)現(xiàn)方法
- Python使用技巧之實(shí)現(xiàn)Excel轉(zhuǎn)為PDF
- Python實(shí)現(xiàn)PDF轉(zhuǎn)為Excel的示例講解
- python實(shí)現(xiàn)word/excel/ppt批量轉(zhuǎn)pdf的示例代碼
相關(guān)文章
一步步教你用Python實(shí)現(xiàn)2048小游戲
相信2048這個(gè)游戲?qū)Υ蠹襾?lái)說(shuō)一定不陌生,下面這篇文章就主要給大家介紹了怎么用Python實(shí)現(xiàn)2048小游戲,文中通過(guò)注釋與示例代碼介紹的很詳細(xì),相信對(duì)大家的理解和學(xué)習(xí)具有一定的參考借鑒價(jià)值,有需要的朋友們一起來(lái)看看吧。2017-01-01
解決pycharm debug時(shí)界面下方不出現(xiàn)step等按鈕及變量值的問(wèn)題
這篇文章主要介紹了解決pycharm debug時(shí)界面下方不出現(xiàn)step等按鈕及變量值的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-06-06
Python關(guān)于拓?fù)渑判蛑R(shí)點(diǎn)講解
在本篇文章里小編給大家分享了一篇關(guān)于Python關(guān)于拓?fù)渑判蛑R(shí)點(diǎn)講解內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。2021-01-01
Python pandas.DataFrame調(diào)整列順序及修改index名的方法
這篇文章主要介紹了Python pandas.DataFrame調(diào)整列順序及修改index名的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-06-06
python 獲取網(wǎng)頁(yè)編碼方式實(shí)現(xiàn)代碼
這篇文章主要介紹了python 獲取網(wǎng)頁(yè)編碼方式實(shí)現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下2017-03-03
簡(jiǎn)介Python的collections模塊中defaultdict類(lèi)型的用法
這里我們來(lái)簡(jiǎn)介Python的collections模塊中defaultdict類(lèi)型的用法,與內(nèi)置的字典類(lèi)最大的不同在于初始化上,一起來(lái)看一下:2016-07-07

