1、安装 pptx、openpyxl
2、获取ppt模板中的占位符的序号
将模板文件保存为 demo.pptx
from pptx import Presentationprs = Presentation('demo.pptx')slide = prs.slides.add_slide(prs.slide_layouts[0])for ph in slide.placeholders:phf = ph.placeholder_formatprint(phf.idx)ph.text = str(phf.idx)prs.save('demo_no.pptx')
可以看到有两个占位符:
0 是第一个,对应的是名字
1 是第二个,对应的是id
3、打开demo_no.pptx编辑幻灯片母版
进入幻灯片母版视图:
删除多余母版:
回到普通视图模式,然后在第一个幻灯片上右键点击设置背景格式,全部应用
可以看到有两个框框:单击此处编辑标题
修改两个框框大小,并且拖到对应位置,最后保存
4、读取用户名字和id,excel文件名字为user_1.xlsx,内容:
将它们写入到demo_no.pptx文件中,批量生成幻灯片
from openpyxl import load_workbookwb = load_workbook("user_1.xlsx")ws = wb.activedata={}for row in range(1,258):name = ws['A' + str(row)].valueid = ws['B' + str(row)].valuedata.setdefault(name,id)prs = Presentation('demo_no.pptx')slide_layout = prs.slide_layouts[0]for name in data:slide = prs.slides.add_slide(slide_layout)slide.placeholders[0].text = "{}".format(name)slide.placeholders[1].text = "({})".format(data[name])prs.save('all.pptx')
