龙空技术网

Python3操作Office之PPT

老陈说编程 586

前言:

当前咱们对“python3ppt”大体比较注意,你们都想要分析一些“python3ppt”的相关知识。那么小编在网摘上搜集了一些有关“python3ppt””的相关知识,希望大家能喜欢,大家快快来了解一下吧!

见惯了Word的严肃,Excel的呆板,你是否更喜欢PPT的美丽冻人呢?—是的,在这个看颜值的时代,越美的东西,大家越喜欢。

PPT作为Office的颜值担当,Python咋能不支持呢?

1

支持的,绝对支持。倘若不给力,那是你还没下载并安装python-pptx开发包。打开【终端】,输入:pip3 install python-pptx,稍等片刻,就可以了。

2

不是谁说可以就可以了,否则要程序员干什么?对,咱得用代码来验证。打开你最喜欢的开发工具:PyCharm、Eclipse、VSCode…,新建工程,新建Python文件,输入如下代码,体验一番。

from pptx import Presentation

prs = Presentation()

title_slide_layout = prs.slide_layouts[0]

slide = prs.slides.add_slide(title_slide_layout)

title = slide.shapes.title

subtitle = slide.placeholders[1]

# PPT主标题

title.text = "在程序员眼中,女神没Bug"

# 子标题

subtitle.text = "你怎么看?"

prs.save('demo.pptx')

3

体验结果告诉我,PPT如程序员眼中的女神一样,没有Bug。聪明的你,此刻可能会问:这样的,我随便新建一个PPT,输入两行字不是更简单,还弄什么程序了?--如果只是简单的内容,确实如此,没必要折腾。只是,有时候,会需要从数据库或网站上获取数据,生成表格并插入到PPT。

from pptx import Presentation

from pptx.util import Inches

prs = Presentation()

title_only_slide_layout = prs.slide_layouts[5]

slide = prs.slides.add_slide(title_only_slide_layout)

shapes = slide.shapes

shapes.title.text = '这个调研表格有点用'

# 两行三列

rows = 2

cols = 3

left = Inches(0.5)

top = Inches(2.0)

width = Inches(9.0)

height = Inches(1.0)

table = shapes.add_table(rows, cols, left, top, width, height).table

# 单元格大小

table.columns[0].width = Inches(2.0)

table.columns[1].width = Inches(5.0)

table.columns[2].width = Inches(2.0)

# 表格标题

table.cell(0, 0).text = '调查人群'

table.cell(0, 1).text = '何为女神'

table.cell(0, 2).text = '统计时间'

# 单元格内容

table.cell(1, 0).text = '程序员'

table.cell(1, 1).text = '心灵美,简单的说:就是颜值没Bug'

table.cell(1, 2).text = '2019-3-8'

prs.save('demo2.pptx')

4

除了表格,图片也不在话下,只是在这,咱们来个更高级的,那就是图表统计图,如柱形图,饼图,线条图...,我就不一一列举了,还是敲代码实在。

from pptx import Presentation

from pptx.chart.data import ChartData

from pptx.enum.chart import XL_CHART_TYPE

from pptx.util import Inches

# 创建PPT并写标题

prs = Presentation()

slide = prs.slides.add_slide(prs.slide_layouts[5])

shapes = slide.shapes

shapes.title.text = '程序员的爱好'

# 定义图表数据

chart_data = ChartData()

chart_data.categories = ['编程', '开发', '敲代码']

chart_data.add_series('爱好', (6.6, 8.6, 9.6))

# 将图表添加到幻灯片

x, y, cx, cy = Inches(2), Inches(2), Inches(6), Inches(4.5)

slide.shapes.add_chart(

XL_CHART_TYPE.COLUMN_CLUSTERED, x, y, cx, cy, chart_data

)

prs.save('demo3.pptx')

标签: #python3ppt