本文將介紹如何使用openpyxl和pptx庫來批量制作PPT獎狀。
本文假設你已經安裝了python和這兩個庫。
本文的場景是:一名基層人員,要給一次比賽活動獲獎的500名選手制作獎狀,并且獎狀需要做成PPT在頒獎大會上電子展示,手上有一份名單 list.xlsx 和 PPT 獎狀模板 temp.pptx。
首先,我們需要導入openpyxl和python-pptx庫,以及其他一些輔助庫,如下:
import openpyxlfrom pptx import Presentationfrom pptx.util import Inches, Ptimport os
然后,我們需要定義一些常量,如文件名,字體,顏色等,如下:
# 文件名EXCEL_FILE = 'list.xlsx'PPT_FILE = 'temp.pptx'OUTPUT_DIR = 'output'# 字體FONT_NAME = '微軟雅黑'FONT_SIZE = 36FONT_COLOR = 'FFFFFF'# 占位符索引NAME_INDEX = 0AWARD_INDEX = 1DATE_INDEX = 2
接下來,我們需要讀取Excel文件,獲取獲獎者的姓名,獎項,以及日期,如下:
# 讀取Excel文件wb = openpyxl.load_workbook(EXCEL_FILE)ws = wb.active# 獲取獲獎者列表awardees = []for row in ws.iter_rows(min_row=2, values_only=True): name, award, date = row awardees.append((name, award, date))
最后,我們需要創建一個輸出目錄,用來存放生成的PPT文件,如下:
# 創建輸出目錄if not os.path.exists(OUTPUT_DIR): os.mkdir(OUTPUT_DIR)
首先,我們需要加載PPT模板文件,獲取幻燈片母版,以及占位符對象,如下:
# 加載PPT模板文件prs = Presentation(PPT_FILE)# 獲取幻燈片母版slide_layout = prs.slide_layouts[0]# 獲取占位符對象placeholders = slide_layout.placeholders
然后,我們需要遍歷獲獎者列表,為每個獲獎者生成一個PPT獎狀,如下:
# 遍歷獲獎者列表for name, award, date in awardees: # 生成一個PPT獎狀 slide = prs.slides.add_slide(slide_layout) # 填充姓名 name_placeholder = slide.placeholders[NAME_INDEX] name_placeholder.text = name name_placeholder.font.name = FONT_NAME name_placeholder.font.size = Pt(FONT_SIZE) name_placeholder.font.color.rgb = FONT_COLOR # 填充獎項 award_placeholder = slide.placeholders[AWARD_INDEX] award_placeholder.text = award award_placeholder.font.name = FONT_NAME award_placeholder.font.size = Pt(FONT_SIZE) award_placeholder.font.color.rgb = FONT_COLOR # 填充日期 date_placeholder = slide.placeholders[DATE_INDEX] date_placeholder.text = date date_placeholder.font.name = FONT_NAME date_placeholder.font.size = Pt(FONT_SIZE) date_placeholder.font.color.rgb = FONT_COLOR
最后,我們需要保存生成的PPT文件,如下:
# 保存生成的PPT文件output_file = os.path.join(OUTPUT_DIR, 'awards.pptx')prs.save(output_file)
本文介紹了如何使用openpyxl和python-pptx庫來批量制作PPT獎狀。
本文通過一個實際的場景,演示了如何讀取Excel文件,寫入PPT文件,以及使用PPT占位符來填充內容。
本文鏈接:http://www.www897cc.com/showinfo-26-79136-0.htmlPython 辦公神器:教你使用 Python 批量制作 PPT
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com
上一篇: C#中的“=>”:Lambda表達式與表達式體定義
下一篇: 適用于Vue 3的高顏值UI組件庫!