【问题标题】:Update linked excel path in PowerPoint via Python通过 Python 在 PowerPoint 中更新链接的 excel 路径
【发布时间】:2019-01-30 11:06:21
【问题描述】:
我想通过将模板图表链接到一些 Excel 文件来自动创建 powerpoint ppt。更新 excel 文件值会自动更改 powerpoint 幻灯片。我已经创建了我的 powerpoint 模板和链接图表来示例 excel 文件数据。
我想将包含 powerpoint 和 excel 文件的文件夹发送给其他人。但这会由于路径的更改而中断指向 excel 文件的链接。 (因为路径不是相对的)。我可以通过在文件菜单下的“编辑文件链接”选项下手动编辑路径,但这很乏味,因为图表中有多个文件。
我想使用 Python-Pptx 包通过 Python 代码更新相同的内容。
请帮忙!
【问题讨论】:
标签:
python-3.x
powerpoint
python-pptx
【解决方案1】:
python-pptx 的当前版本不支持此 API。
您需要直接修改底层 XML,可能使用 python-pptx 内部作为起点,并在适当的元素对象上使用 lxml 调用。如果你搜索“python-pptx workaround function”你会发现一些例子。
要考虑的另一件事是通过直接访问 .pptx 包中的 XML 文件(.pptx 文件是主要 XML 文件的 Zip 存档)并使用正则表达式或可能是像sed 或awk 这样的命令行工具来做简单的文本替换。
无论哪种方式,您都非常需要它,具体取决于您的 Python 技能水平。当然,您还需要发现 XML 的哪些部分中的哪些字符串需要更改。 opc-diag 可能会对此有所帮助,但即使使用最好的工具,这也是一项侦探工作。