You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用python-pptx的add_ole_object嵌入Excel时仅添加空文件的问题

解决python-pptx嵌入Excel文件显示空白的问题

你的代码核心问题是误用了add_ole_object的参数:第一个参数'Test.xlsx'被当作OLE对象的显示图标文件路径,而非要嵌入的目标Excel文件。由于未指定实际要嵌入的文件内容,PPT中生成的是空白Excel对象。

修正后的代码示例

from pptx import Presentation
from pptx.util import Inches

ppt = Presentation()
title_slide = ppt.slides.add_slide(ppt.slide_layouts[0])

# 读取目标Excel文件的字节内容
with open('Test.xlsx', 'rb') as f:
    excel_package = f.read()

# 添加OLE对象:使用Excel默认图标,传入实际嵌入的文件内容
title_slide.shapes.add_ole_object(
    image_file=None,
    prog_id='Excel.Sheet.12',  # xlsx格式对应此ID,xls格式用'Excel.Sheet.8'
    left=Inches(1),
    top=Inches(3),
    package=excel_package
)

ppt.save('Test.pptx')

关键参数说明

  • package:必填(嵌入真实文件时),传入目标Excel文件的字节流,这是PPT中实际嵌入的内容。
  • image_file:可选,指定PPT中显示的图标路径,设为None会使用Excel的默认程序图标。
  • prog_id:需匹配文件格式,确保嵌入对象能被正确程序打开。

额外注意事项

  • 确保Test.xlsx与脚本在同一目录,或使用绝对路径指定文件位置。
  • 若需自定义显示图标,可准备一个Excel图标的图片文件,将路径传给image_file参数。

内容的提问来源于stack exchange,提问作者user17166775

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 18:52:11