将excel的每行数据导入为每页PPT,并实现PPT可抽签

部署运行你感兴趣的模型镜像

0、需求:比如我有一个data文件,每行有数据为学号和姓名。需要将每行的数据,自动生成为一页PPT。并实现PPT可抽签。

注意:如果你是xls文件,可以创建一个新的xlsx文件,把所需数据复制进去。

一、将excel的每行数据导入为每页PPT

以下是python代码:
注意:需要先安装包。安装命令为:

pip install python-pptx -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install pandas -i https://pypi.tuna.tsinghua.edu.cn/simple

整体的代码为

import pandas as pd
from pptx import Presentation
from pptx.util import Inches, Pt
from pptx.enum.text import PP_ALIGN

# === 1. 读取Excel ===
df = pd.read_excel("./data.xlsx")

# === 2. 创建PPT ===
prs = Presentation()

for i, row in df.iterrows():
    # === 3. 添加新幻灯片 ===
    slide = prs.slides.add_slide(prs.slide_layouts[6])  # 6 = 空白页

    


    # === 4. 添加标题文本框 ===
    left = top = Inches(1)
    width = height = Inches(8)
    textbox = slide.shapes.add_textbox(left, top, width, height/4)
    tf = textbox.text_frame
    p = tf.add_paragraph()
    p.text = str(row['学号'])


    p.font.bold = True
    p.font.size = Pt(36)
    p.alignment = PP_ALIGN.CENTER

    # === 5. 添加正文内容 ===
    textbox2 = slide.shapes.add_textbox(left, top + Inches(1.5), width, height)
    tf2 = textbox2.text_frame
    p2 = tf2.add_paragraph()
    p2.text = str(row['姓名'])
    p2.font.size = Pt(20)
    p2.alignment = PP_ALIGN.LEFT

    # === 6. 可选:插入图片 ===
    if '图片路径' in df.columns and pd.notna(row['图片路径']):
        try:
            slide.shapes.add_picture(row['图片路径'], Inches(1), Inches(4), height=Inches(3))
        except Exception as e:
            print(f"第{i+1}页图片插入失败: {e}")

# === 7. 保存PPT ===
prs.save("output.pptx")
print("✅ PPT 生成完成:output.pptx")

二、将PPT作为可抽签

  1. 选中所有幻灯片,点击「切换」选项卡,勾选「设置自动换片时间」并设置为0秒。
  2. 在「幻灯片放映」中的「设置幻灯片放映」中勾选「循环放映,按Esc键终止」

三、现在播放PPT就可以按Esc键退出后,所停留PPT即随机的页面

您可能感兴趣的与本文相关的镜像

Python3.10

Python3.10

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值