Python實用技巧:將 Excel轉為PDF

来源:https://www.cnblogs.com/Yesi/archive/2023/11/16/17836514.html
-Advertisement-
Play Games

將Excel文件轉換為PDF可以方便儲存表格數據,此外在列印或共用文檔時也能確保表格樣式佈局等在不同設備和操作系統上保持一致。今天給大家分享一個使用第三方Python庫Spire.XLS for Python 實現Excel轉PDF的簡單方法。 Python中Excel轉PDF的實現步驟 1. 首先 ...


將Excel文件轉換為PDF可以方便儲存表格數據,此外在列印或共用文檔時也能確保表格樣式佈局等在不同設備和操作系統上保持一致。今天給大家分享一個使用第三方Python庫Spire.XLS for Python 實現Excel轉PDF的簡單方法。

 

Python中Excel轉PDF的實現步驟

1. 首先,通過pip命令來安裝依賴庫;

pip install Spire.XLS

2. 安裝完成後,導入所需庫;

from spire.xls import *
from spire.common import *

3. 載入Excel文檔,然後可以通過 Spire.XLS for Python 提供的 Workbook.SaveToFile()Worksheet.SaveToPdf() 來將Excel工作簿或某個指定的Excel工作表轉換為PDF格式。

4. 在轉換時還可以通過 PageSetup 類來進行頁面設置。

 

代碼示例

1 .使用Python將Excel文件轉為PDF格式(每個工作表顯示為單獨的一頁)

from spire.xls import *
from spire.common import *
 
# 創建Workbook對象
workbook = Workbook()
 
# 載入Excel文檔
workbook.LoadFromFile("數據.xlsx")
 
# 設置工作表適應頁面
workbook.ConverterSetting.SheetFitToPage = True
 
# 將Excel轉換為PDF
workbook.SaveToFile("ToPDF.pdf", FileFormat.PDF)
workbook.Dispose()

 

2. 使用Python將Excel中每個工作表轉換為單獨的PDF文件

from spire.xls import *
from spire.common import *
 
# 創建 Workbook 對象
workbook = Workbook()
 
# 載入Excel文件
workbook.LoadFromFile("數據.xlsx")
 
#遍歷Excel工作簿中的所有工作表
for sheet in workbook.Worksheets:
 
#將每個工作表都保存為一個單獨的PDF文件
    FileName =  sheet.Name + ".pdf"
    sheet.SaveToPdf(FileName)
workbook.Dispose()

 

3. 使用Python將指定Excel工作表轉為PDF格式

from spire.xls import *
from spire.common import *
 
# 創建 Workbook 對象
workbook = Workbook()
 
# 載入Excel文件
workbook.LoadFromFile("數據.xlsx")
 
# 獲取第二個工作表
sheet = workbook.Worksheets[1]
 
# 獲取 PageSetup 對象
pageSetup = sheet.PageSetup
 
# 設置頁邊距
pageSetup.TopMargin = 0.3
pageSetup.BottomMargin = 0.3
pageSetup.LeftMargin = 0.3
pageSetup.RightMargin = 0.3
 
# 設置頁面尺寸
pageSetup.PaperSize = PaperSizeType.PaperA3
 
# 設置轉換時工作表適應頁面
workbook.ConverterSetting.SheetFitToPage = True
 
# 將該工作表保存為PDF文件
sheet.SaveToPdf("Excel工作表轉PDF.pdf")
workbook.Dispose()

移除水印可以點擊申請免費試用授權:https://www.e-iceblue.cn/misc/temporary-license.html 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 十、數組 1、數組的概念 1)引出數組 需求:學校為了統計學生的信息,需要設計一個程式,要求如下,一共有十個學員,要求依次輸入各位學員的學號,並將其列印出來。 #include <iostream> int main() { int studentId1, studentId2, studentId ...
  • 寫在前面 技術這東西就得用,不用就會忘,之前寫博客感覺就是給自己記筆記用,還有大部分,估計睡在語雀里都落灰了,哈哈! 在Python領域,我覺得我還是算個小白吧,會寫講不明白,所以我決定想做一件事,先搞下flask這部分教程,看看能給大家說明白嗎,真的感覺和Java有很大區別,廢話不多說了,開整! ...
  • ”不要以共用記憶體的方式來通信,相反,要通過通信來共用記憶體“ golang 的一個思想,不整文的,整點武的,具體來看channel 怎麼做的 有一個很關鍵的 golang MPG 模型再單獨分析,這篇先只分析 channel 定義 // runtim/chan.go type hchan struct ...
  • 九、迴圈(二) 1、while迴圈 1)while迴圈語法 //while迴圈語法 while(條件表達式) //條件表達式是一個bool類型的值 { 迴圈語句; } //示例 int i = 9; while(i<0) { i--; std::cout<<i; } 2)while迴圈嵌套 //wh ...
  • 1 void erosion(BYTE* image, int w, int h, BYTE* outImg) 2 { 3 int rept; 4 //腐蝕 5 memcpy(outImg, image, sizeof(BYTE) * w * h); //將讀取的圖像賦值給outImg,方便進行腐蝕 ...
  • 我們知道Python是一門解釋型語言,項目運行時需要依賴Python解釋器,並且有時候需要安裝項目中對應的三方依賴庫。對於專業的Python開發者來說,可以直接通過pip命令進行安裝即可。但是如果是分發給其他的Windows用戶,特別是不熟悉Python的人來說,這樣過於繁瑣。因此最好的辦法是連同P... ...
  • 各種鎖的理解 公平鎖、非公平鎖 公平鎖:先到先得(不可插隊) 非公平鎖:達者為先(可插隊) >預設 public ReentrantLock() { //預設非公平鎖 sync = new NonfairSync(); } //重載的構造方法,通過fair控制是否公平 public Reentran ...
  • Mybatis簡介 MyBatis歷史 MyBatis最初是Apache的一個開源項目iBatis, 2010年6月這個項目由Apache Software Foundation遷移到了Google Code。隨著開發團隊轉投Google Code旗下,iBatis3.x正式更名為MyBatis。代 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...