首页 > 解决方案 > 如何使用 python-docx 制作表格的单元格边框

问题描述

我想用 python-docx 设置单元格边框。我使用了以下命令,但发生错误。

document = Document("mydoc.docx")
table = document.add_table(rows=1, cols=3, style='Table Grid')

错误如下;

KeyError: "no style with name 'TableGrid'"

标签: pythonpython-docx

解决方案


您不能使用Table Grid,因为文档中没有该样式

或者,您可以在 oxml 级别上工作并将边框元素添加到 tableProperty elment

import docx
document = docx.Document()
table = document.add_table(2,2)
borders = table._tbl.tblPr.get_or_add_tblBorders()
bottom_border = docx.oxml.shared.OxmlElement('w:bottom')
bottom_border.set(docx.oxml.shared.qn('w:val'), 'single')
bottom_border.set(docx.oxml.shared.qn('w:sz'), '4')
borders.append(bottom_border)
document.save('test.docx')


同样,您可以对上、左、右边框执行相同的操作


推荐阅读