表格单元格中的docx中心文本

min*_*234 4 python python-docx

所以我开始使用pythons docx库。现在,我创建一个具有多行,只有2列的表,如下所示:

现在,我希望这些单元格中的文本水平居中。我怎样才能做到这一点?我搜索了docxAPI文档,但只看到了有关对齐段落的信息。

小智 7

有一个代码可以通过在创建单元格时设置对齐方式来做到这一点。

doc=Document()
table = doc.add_table(rows=0, columns=2)
Run Code Online (Sandbox Code Playgroud)
row=table.add_row().cells
p=row[0].add_paragraph('left justified text')
p.alignment=WD_ALIGN_PARAGRAPH.LEFT
p=row[1].add_paragraph('right justified text')
p.alignment=WD_ALIGN_PARAGRAPH.RIGHT
Run Code Online (Sandbox Code Playgroud)

编码:bnlawrence

并使文本居中对齐只需更改:

p.alignment=WD_ALIGN_PARAGRAPH.CENTER
Run Code Online (Sandbox Code Playgroud)

解决方案在这里找到:修改表格中单元格的对齐方式


小智 5

好吧,看起来添加一个段落是可行的,但是(哦,真的吗?)它添加了一个新段落 - 所以在我的情况下,这不是一个选择。您可以更改现有单元格的值,然后更改段落的对齐方式:

row[0].text = "hey, beauty"
p = row[0].paragraphs[0]
p.alignment = docx.enum.text.WD_ALIGN_PARAGRAPH.CENTER
Run Code Online (Sandbox Code Playgroud)

实际上,在最上面的答案中,第一个“docx.enum.text”丢失了:)