本文將介紹如何使用openpyxl和pptx庫(kù)來(lái)批量制作PPT獎(jiǎng)狀。
本文假設(shè)你已經(jīng)安裝了python和這兩個(gè)庫(kù)。
本文的場(chǎng)景是:一名基層人員,要給一次比賽活動(dòng)獲獎(jiǎng)的500名選手制作獎(jiǎng)狀,并且獎(jiǎng)狀需要做成PPT在頒獎(jiǎng)大會(huì)上電子展示,手上有一份名單 list.xlsx 和 PPT 獎(jiǎng)狀模板 temp.pptx。

首先,我們需要導(dǎo)入openpyxl和python-pptx庫(kù),以及其他一些輔助庫(kù),如下:
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接下來(lái),我們需要讀取Excel文件,獲取獲獎(jiǎng)?wù)叩男彰?jiǎng)項(xiàng),以及日期,如下:

# 讀取Excel文件wb = openpyxl.load_workbook(EXCEL_FILE)ws = wb.active# 獲取獲獎(jiǎng)?wù)吡斜韆wardees = []for row in ws.iter_rows(min_row=2, values_only=True): name, award, date = row awardees.append((name, award, date))最后,我們需要?jiǎng)?chuàng)建一個(gè)輸出目錄,用來(lái)存放生成的PPT文件,如下:
# 創(chuàng)建輸出目錄if not os.path.exists(OUTPUT_DIR): os.mkdir(OUTPUT_DIR)
首先,我們需要加載PPT模板文件,獲取幻燈片母版,以及占位符對(duì)象,如下:
# 加載PPT模板文件prs = Presentation(PPT_FILE)# 獲取幻燈片母版slide_layout = prs.slide_layouts[0]# 獲取占位符對(duì)象placeholders = slide_layout.placeholders然后,我們需要遍歷獲獎(jiǎng)?wù)吡斜恚瑸槊總€(gè)獲獎(jiǎng)?wù)呱梢粋€(gè)PPT獎(jiǎng)狀,如下:
# 遍歷獲獎(jiǎng)?wù)吡斜韋or name, award, date in awardees: # 生成一個(gè)PPT獎(jiǎng)狀 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 # 填充獎(jiǎng)項(xiàng) 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庫(kù)來(lái)批量制作PPT獎(jiǎng)狀。
本文通過(guò)一個(gè)實(shí)際的場(chǎng)景,演示了如何讀取Excel文件,寫入PPT文件,以及使用PPT占位符來(lái)填充內(nèi)容。
本文鏈接:http://m.www897cc.com/showinfo-26-79136-0.htmlPython 辦公神器:教你使用 Python 批量制作 PPT
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com