Python Docx表行高

iFu*_*ion 2 row-height python-3.x python-docx

因此,列宽是使用一列中所有单元格的单元格宽度来完成的,如下所示:

from docx import Document
from docx.shared import Cm

file = /path/to/file/
doc = Document(file)
table = doc.add_table(4,2)
for cell in table.columns[0].cells:
    cell.width = Cm(1.85)
Run Code Online (Sandbox Code Playgroud)

然而,行高是使用行来完成的,但我不记得上周我是如何做到的。

现在我设法找到一种方法来引用表中的行,但似乎无法回到那种方式。可以使用 add_row 方法更改高度,但无法创建没有行的表格,因此顶行将始终为默认高度,约为 1.6 厘米。

有一种方法可以在不使用 add_paragraph 的情况下访问段落,有谁知道如何在不使用 add_row 方法的情况下访问行,因为我曾经将表中的行高设置为默认值。

我已经尝试过这个但它不起作用:

row = table.rows
row.height = Cm(0.7)
Run Code Online (Sandbox Code Playgroud)

但是虽然这不会给出错误,但它对高度也没有影响。

sca*_*nny 6

table.rows是一个集合,特别是一个序列,因此您需要单独访问每一行:

for row in table.rows:
    row.height = Cm(0.7)
Run Code Online (Sandbox Code Playgroud)

另请检查row.height_rule您有权访问的一些相关行为:
https://python-docx.readthedocs.io/en/latest/api/table.html#row-objects

当您分配给 时table.rows.height,它只是添加一个.height不执行任何操作的实例属性。你会遇到像这样的神秘行为,这是像 Python 这样的动态语言的副作用之一。不过,当你获得更多经验时,它就会消失,至少对我来说是这样:)