取消设置 python-docx 中的 Header 行或将第一列设置为标题列

Unsetting Header Row in python-docx or setting first column as title column

我正在使用 python-docx 生成多个表,但我有一些问题,有些表被旋转 == 第一列而不是第一行有 headers。

是否有可能如何使用 python-docx 或直接访问 xml 取消选中以下选项?

这些选项指定 Table 样式 定义的相应部分是否应用于 table。

在 Word Open XML 中,这些被列为 w:tblLook 元素的属性。标题行是属性 w:firstRow。这是一个 on/off | true/false 设置以便关闭它需要将属性设置为 0(假)。

我无法告诉您 python-docx 是否支持此功能(Open XML SDK 支持)。但此信息可让您直接在 XML 中进行更改,并可能搜索 python-docx.

的语言参考

我确实找到了如何实现我需要的解决方法。可以直接访问每个单元格中的每个段落,并在创建时手动将其设置为粗体。

此示例将第一列加粗并使 table 的其余部分保持正常:

table = document.add_table(rows=0, cols=len(data))
table.style = 'Table Grid'
row_cells = table.add_row().cells
# Some fake data
row_cells[0].text = data[0]
row_cells[1].text = data[1]
row_cells[2].text = data[2]
# ...
# This gets Heading Row 1 paragraph and sets it to bold
row_cells[0].paragraphs[0].runs[0].font.bold = True