我正在处理一个表,并希望在用值填充后查询它的最终高度。这样我就可以根据它的大小来调整它在幻灯片(graphicframe.top)上的位置。我用下面的几行代码添加这个表:
graphicframe = shapes.add_table(rows = 41, cols = 5, left = Inches(0), top = Inches(2), width = Inches(5.7), height = Inches(4)) table = graphicframe.table
然后循环遍历其单元格以逐个填充它们。表格高度会发生变化以适应输入(例如:文本可能会换行到2行,从而增加高度,大量的行数可能会使表格比我最初指定的高度更高,等等)。
graphicframe.height返回我在add_table中输入的原始高度,而不是数据填充后的最终高度。table.rowsi.height也做同样的事情。
我找到了XML文件中每一行的高度,这些高度也对应于add_table中的原始高度,而不是数据填充后表的经验最终高度。在XML文件中,有41行指定高度h,对应于我的表中的41行。它们看起来像这样:< a:tr h="89209“> ...< /a:tr >
你知道我的表的经验高度(填充后)是否记录在任何地方??谢谢你!!
发布于 2017-07-14 04:52:02
简短的回答是否定的,因为您不能确定刚刚使用python-pptx创建的表的呈现高度。这是因为在使用PowerPoint打开文件之前,PowerPoint渲染引擎不能对"fit“进行任何高度调整。
您可能能够使用您提到的方法(添加行高),但只有在使用PowerPoint打开演示文稿并可能访问该幻灯片并可能对表格进行小调整之后,才能准确地使用该方法。您必须进行实验,看看是什么原因导致PowerPoint将表的行高重写为它们的渲染值。请注意,此行为在PowerPoint和LibreOffice之间可能有所不同。
https://stackoverflow.com/questions/45090427
复制相似问题