python - 如何使用 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'"
解决方案
您不能使用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')
同样,您可以对上、左、右边框执行相同的操作
推荐阅读
- r - 计算一行等于一个值的次数
- eclipse - Eclipse 编辑器在编辑 Xtend 文件时一直挂起(“更新编辑器状态(睡眠)”)
- python - 用正则表达式删除填充词
- azure-active-directory - 设置 hideFromAddressLists 或 hideFromOutlookClients 时出现 ErrorGroupsAccessDenied
- swift - Swift Generic Functions、Protocols 和 associatedType - 无法使用类型为“(来自:T)”的参数列表调用函数
- python - 将 JS 变量发布到 Django 视图并在单独的模板中显示为上下文变量
- reactjs - 在 React 中使用钩子切换布尔值
- python - 如何使用 Skorch 预测单个图像?
- node.js - 如何让 puppeteer 在 Google Cloud Run/Cloud Build 中工作?
- ruby-on-rails - CI 服务器上的记录 ID 似乎已更改