pptx文件

更新时间:2023-03-15 18:42:34 阅读: 评论:0

读书小报图片-关于心理健康

pptx文件
2023年3月15日发(作者:旅游管理专业就业方向)

PPT批量导⼊⽂字(Python实现)

需求:⽬前有⼀份Excel表格,⾥⾯有姓名和英⽂名两列数据。需要根据这些数据⽣成200张左右的荣誉证书,放在⼀个pptx⽂件

中。

表格部分截图:

ppt模板截图:

(上⽅占位符写中⽂名,下⽅写英⽂名)

⼀、基础知识

的母版

⾸先新建⼀个pptx⽂件。

点击“视图->幻灯⽚母版”

选择第⼀张底下的所有版式,按delete键删除,选择第⼀张内部的所有内容,删除。最后应该是这样,⼲⼲净净的:

点击:插⼊版式,删掉⾃带的标题⽂本框

为简明起见,这⾥只插⼊两个占位符,分别表⽰中⽂名和英⽂名。有需要者可以加⼊更多的占位符,也可以⾃⾏调整背景、字体等。

插⼊占位符的时候,记得删除⾥⾯的所有内容。按两次退格键即可删⼲净,最后,占位符⾥⾯会显⽰“对象”,这是正常的。

按ctrl+s保存并退出。

2.必要的python知识

python当前的最新版本是3.10,但python存在严重的向下不兼容问题,因此不推荐使⽤太⾼的版本。

python的选择结构:

python的循环结构:

1score=70

2if(score>90):

3print('优秀')

4elif(score>60):

5print('及格')

6el:

7print('不及格')

括号是左闭右开的,不包括右边界。

python的列表:⽤[]定义,⽤下标访问。列表相当于Java、C++的数组,下标以0开始。

python的字典:⽤{}定义,⽤变量名[key]访问。

⼆、环境搭建

1.下载python

搜索python3.6,进⼊官⽹下载

等待⽚刻,出来这个页⾯,向下滚动,直到看到⼀个表格:

1foriinrange(0,4):

2print(i)

3

4#结果

5#0

6#1

7#2

8#3

1arr=['Tom',12]

2print(arr[0])

3print(arr[1])

1dict={}#初始化字典

2dict["Tom"]=12#添加键值对

3print(dict["Tom"])#通过key访问value

4

5#12

6

7

8

9#本题中涉及的操作

10dict1={}

ault("Tom",[])#添加key为"Tom",值为默认值[](⼀个空数组)的键值对

12dict1["Tom"].append(12)#访问到"Tom"对应的数组,为数组添加元素

13print(dict1["Tom"])

14

15#[12]

点击,等待下载完成即可。

双击允许下载好的安装程序。

先勾选最下⾯的框,然后点⾃定义安装。

点击next

这⼀步需要⾃⼰改⼀下安装路径,我放在D盘下的python3.6⽂件夹下。

等待安装完成,重启电脑即可。

2.安装pycharm

搜索pycharm,直接点download即可。

有两个选项,选右边的社区版。

等待下载完成,双击打开安装程序。

第⼀步next,然后选择安装路径,这⾥装在D盘下。

next,全部打勾。

⼀路next即可,等待安装完成。

3.创建⼯程

运⾏pycharm,弹出这个窗⼝,点OK。

点击newproject

点location右边的⼩⽂件夹,修改⼯程路径。这个路径⼀定要能⽅便地找到!

其他的不⽤修改,因为pycharm已经检测到安装好的python3.6。

点击create,⽬前的界⾯是这样。

三、测试代码

粘贴以上代码到中,不出意外,会报4个错。这是因为没有安装对应的包导致的。

1frompptximportPrentation

2prs=Prentation('data模板.pptx')

3

4slide=_slide(_layouts[0])#第⼀个模板的第0个板式

olders:#遍历这页PPT的所有占位符

6phf=older_format#获取占位符的格式

7print()#打印其ID编号

=str()#将编号写⼊PPT对应的位置中,以便后⾯⼀⼀对应

9#以上读取到占位符的ID⽅便后⾯调⽤

('data模板-占位符编号.pptx')

11

12

13fromopenpyxlimportload_workbook

14wb=load_workbook("data表格.xlsx")

15ws=

16data={}

17forrowinrange(1,_row+1):

18class_id=ws['A'+str(row)].value

19name=ws['B'+str(row)].value

ault(class_id,[])

21data[class_id].append(name)

22

23

24importtime

25t0=()#程序开始运⾏的时间

26

27prs=Prentation('data模板.pptx')

28

29slide_layout=_layouts[0]#调⽤设置好的母版,因为是母版的第⼀版式,所以取[0]

30

31forclass_idindata:

32

33fornameindata[class_id]:

34slide=_slide(slide_layout)#以母版的版式为基础新增⼀页幻灯⽚

35#往幻灯⽚中写⼊内容

olders[11].text=class_id#班级

olders[12].text=name#名字

38

('data总计.pptx')

40t1=()

41

42print('程序⽤时:',str(round(t1-t0))+'秒。')

将光标移到openpyxl上,点击安装即可。

这时,还有两个错误未解决,需要我们⼿动安装第三⽅包。

File->Settings

Project:xxx->PythonInterpreter

点击加号

搜索框中输⼊python-pptx,点击安装,只安装这个包即可。

等待⽚刻,所有错误都应该已经解决。

打开刚刚创建项⽬的⽂件夹,新建⽂件夹,名字为data。

将准备好的模板.pptx、表格.xlsx粘贴到data⽂件夹⾥⾯。

以下内容与占位符原理有关,如果只想运⾏代码,可以跳过

占位符

先将第10⾏以下的内容全部注释。注释的⽅法是:选中第10⾏以下的内容,然后按ctrl+/

然后在代码窗⼝中按右键,点击Run'main'。

回到刚才的data⽂件夹,打开新⽣成的模板-占位符编号.pptx

没有看到任何内容,很正常,点击关闭母版视图即可。

其中的12、11就是占位符编号。⽤olders[占位符编号]即可访问这些占位符。

可以根据这些编号修改源码,控制各个占位符⾥应写⼊的⽂字。

然后,选中第⼗⾏以下的区域,按下ctrl+/解除注释。

(接上⽂)

在代码窗⼝按右键,点击Run'main'

出现这些内容,表⽰运⾏成功。

打开⽣成的总计.pptx进⾏检查:

⽣成了399张不同的幻灯⽚,达到了预期要求!

四、改进

1.在实际应⽤中,⼀个模板可能会有多个占位符,最好先根据上⽂的⽅法观察⼀下占位符编号再决定数据写⼊的位置

2.⼀个母版可能会有多个附属的模板,就像这样:

这些模板以0开始,可以这样访问:

实际应⽤可以实现这样⼀种效果:表格的前170⾏使⽤第⼀个模板,后⾯的使⽤第⼆个模板

3.表格的⾏(row)是从1开始的,因此如果有表头,那么读取时应从第⼆⾏开始。

以下是程序所⽤的表格和模板:

链接:https:加上///s/1D2Qck3lfbKJVDYh1EzNbnA

提取码:e534

1if(cnt<170):

2slide_layout=_layouts[0]#第0个模板

3el:

4slide_layout=_layouts[1]#第1个模板

1#有表头的情况

2forrowinrange(2,_row+1):

3class_id=ws['A'+str(row)].value

4name=ws['B'+str(row)].value

ault(class_id,[])

6data[class_id].append(name)

本文发布于:2023-03-15 18:42:34,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/zhishi/a/167887695429793.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:pptx文件.doc

本文 PDF 下载地址:pptx文件.pdf

下一篇:返回列表
标签:pptx文件
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 实用文体写作网旗下知识大全大全栏目是一个全百科类宝库! 优秀范文|法律文书|专利查询|