python-docx如何将不同的样式应用于表中的不同单元格

时间:2017-07-02 19:13:02

标签: python python-docx

在python-docx中处理表。我试图将不同的样式应用于表的第一行与其余行。这将是标题行。这是表格:

table2 = doc.add_table(rows=10, cols=3)
heading_cells_table2 = table2.rows[0].cells 
heading_cells_table2[0].text = 'Header 1'
heading_cells_table2[1].text = 'Header 2'
heading_cells_table2[2].text = 'Header 3'

我希望我能做到这样的事情:

table2.rows[0].style = table_heading_style

我已经尝试过.add_run(),。cells,.font,.text等的一些其他变体和组合,没有运气。

是否可以更改表格中单个单元格/行/列的格式?如果是这样,它是如何完成的?

感谢您的帮助。

修改

对于这个问题的答案的具体示例,这里是我最终如何在表格的3列中的2列中居中文本,这要归功于scanny的帮助。

for column in itertools.islice(table2.columns, 1, 3):
    for cell in column.cells:
        for paragraph in cell.paragraphs:
            paragraph.paragraph_format.alignment = WD_ALIGN_PARAGRAPH.CENTER

1 个答案:

答案 0 :(得分:2)

段落样式只能应用于段落。

for paragraph in cell.paragraphs:
    paragraph.style = document.styles['Heading 1']