使用Python办公自动化:将文本与图表写入到PPT中

使用Python办公自动化:将文本与图表写入到PPT中,其中含有写入文本、表格及图表到PPT中的一些常用函数,还含有一些对单元格的操作函数。

代码如下:

import pptx
from pptx.util import Inches
from pptx.chart.data import CategoryChartData
from pptx.enum.chart import XL_CHART_TYPE
from pptx.enum.chart import XL_LEGEND_POSITION
# 得到演示文稿的对象
prs = pptx.Presentation()
# prs = pptx.Presentation('python_pptx_create.pptx')
# 插入一张幻灯片
slide = prs.slides.add_slide(prs.slide_layouts[0])
prs.slides.add_slide(prs.slide_layouts[1])
prs.slides.add_slide(prs.slide_layouts[2])
# 删除幻灯片
del prs.slides._sldIdLst[1]
# 向幻灯片中插入文本框
text_a = slide.shapes.add_textbox(Inches(6), Inches(6), Inches(6), Inches(6))
text_a.text = '测试文本框'
p_a = text_a.text_frame.add_paragraph()
p_a.text = '测试段落1'
p_a.add_run().text = 'end'
# 向幻灯片中现有的元素写入文本
title_shape = slide.shapes.title
title_shape.text = '标题a'
slide.shapes.placeholders[1].text = '标题b'
# 添加表格
table = slide.shapes.add_table(3, 3, Inches(2), Inches(2), Inches(4), Inches(2)).table
# 填充内容
table.cell(1, 0).text = 'test_a'
table.cell(1, 1).text = 'test_b'
table.cell(1, 2).text = 'test_c'
table.cell(2, 0).text = 'data_a'
table.cell(2, 1).text = 'data_b'
table.cell(2, 2).text = 'data_c'
# 合并单元格
cell = table.cell(0, 0)
cell_a = table.cell(0, 2)
cell.merge(cell_a)
table.cell(0,0).text = '信息表'
# 取消合并单元格
if cell.is_merge_origin:
    cell.split()
# 写入图表
chart_data = CategoryChartData()
chart_data.categories = ['一月份','二月份','三月份']
chart_data.add_series('名称a', (300,600,700))
chart_data.add_series('名称b', (300,600,700))
chart_data.add_series('名称c', (300,600,700))
chart = slide.shapes.add_chart(XL_CHART_TYPE.COLUMN_CLUSTERED,Inches(2),Inches(2),Inches(6),Inches(3),chart_data).chart
chart.has_title = True
chart.chart_title.text_frame.text = 'A季度' # 标题
chart.has_legend = True
chart.legend.position = XL_LEGEND_POSITION.RIGHT
# 保存ppt文档
prs.save('python_pptx_create.pptx')

运行结果:

在这里插入图片描述
在这里插入图片描述


欢迎大家查看作者的主页,主页中还有关于编程与算法方面的更多内容,欢迎大家相互沟通学习~

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值