python-pptx---插入表格

一、安装

官方API文档: https://python-pptx.readthedocs.io/en/latest/index.html

pip install python-pptx

二、方法1:根据占位符生成表格

 

母版

插入占位符--表格

程序可以按照index索引找到设计好的版式页,index从0开始,也可以通过名字

1. 使用自定义ppt模板

from pptx import Presentation

prs = Presentation("test.pptx")

2. 生成一个新页面

按照索引生成

slide = self.prs.slides.add_slide(prs.slide_layouts[1])

按照名字生成

slide = self.prs.slides.add_slide(prs.slide_layouts.get_by_name('name'))

3. 确认占位符id

slide = self.prs.slides.add_slide(prs.slide_layouts[1])  # 用第一个母版生成一页ppt
for shape in slide.placeholders:         # 获取这一页所有的占位符
    phf = shape.placeholder_format
    print(f'{phf.idx}--{shape.name}--{phf.type}')

结果: 

4. 往占位符里填写内容

slide = self.prs.slides.add_slide(prs.slide_layouts[1])  # 用第一个母版生成一页ppt

#修改标题
title = slide.placeholders[0]
title.text = "这里是标题"

       
       
col_name = [['hh','this'],['A','B']]


table =slide.placeholders[13]
        
rows,cols = 2,2
table0 = table.insert_table(rows,cols).table
 
for row in range(0,rows):
    for col in range(0,cols):
        table0 .cell(row,col).text = col_name[row][col]

结果

三、方法2:直接生成表格

代码

这种方法不需要母版里插入表格占位符

根据top left以及width height来定位表格,这样的话需要很多调整

 slide = self.prs.slides.add_slide(prs.slide_layouts[1])  # 用第一个母版生成一页ppt

 #修改标题
title = slide.placeholders[0]
title.text = "这里是标题"
col_name = [['hh','this'],['A','B']]
       
rows,cols = 2,2
top,left,width,height =Cm(3),Cm(1),Cm(25),Cm(1)
table0 = slide.shapes.add_table(rows,cols,left,top,width,height).table
for row in range(0,rows):
    for col in range(0,cols):
        table0 .cell(row,col).text = col_name[row][col]

 

结果

四、设置表格字体大小

from pptx.util import Inches,Cm,Pt
#参数table为上面生成的table0
def tableSize(table):
    for cell in table.iter_cells():
        for paragraph in cell.text_frame.paragraphs:
            paragraph.font.size = Pt(12)

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晏九

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值