微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用python-pptx包追加表格行将添加一行,在PowerPoint中进行编辑时会更改另一行的内容

如何解决使用python-pptx包追加表格行将添加一行,在PowerPoint中进行编辑时会更改另一行的内容

我正在使用python-pptx包将PowerPoint演示文稿读入Python。没有本机支持将行(或列)插入到表对象中。尽管个人很多,但每个GitHub线程都提供了与此类似的解决方法

from pptx import Presentation
from pptx.table import _Cell

prs = Presentation('test.pptx')
TAB = prs.slides[1].shapes[1].table
copy_idx=0
insert_idx=1
new_row = copy.deepcopy(TAB._tbl.tr_lst[copy_idx])
for tc in new_row.tc_lst:
    cell = _Cell(tc,new_row.tc_lst)
    cell.text = 'foobar'
TAB._tbl.append(new_row)
prs.save('test.pptx')

https://github.com/scanny/python-pptx/pull/399

然后打开PowerPoint演示文稿时,如果单击添加的行并开始键入,它将修改第一行中的文本,而不是新添加的行。保存并重新启动应用程序使问题消除了。但是,当我需要继续使用python中的Presentation对象而不需要停止手动重新启动PowerPoint时,这还不够。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。