python-docx场景样式
官网
https://python-docx.readthedocs.io/en/latest/user/styles-understanding.html#table-styles-in-default-template
应用预定义样式:
from docx import Document
# 加载文档
doc = Document('your_document.docx')
# 添加一个新表格并指定预定义样式
table = doc.add_table(rows=5, cols=3, style='Table Grid')
# 保存文档
doc.save('your_document_modified.docx')
自定义样式
from docx.shared import Inches, Pt
from docx.table import TableStyleInfo
# 获取或创建表格
table = doc.add_table( . . . )
# 设置表格整体样式信息
table.style = TableStyleInfo(name='CustomTableStyle',
primary_style=True,
show_first_column=False,
show_last_column=False,
show_row_stripes=True)
# 遍历每个单元格修改边框
for row in table.rows:
for cell in row.cells:
# 设置单元格所有边框宽度和颜色
tc = cell._tc
tcPr = tc.get_or_add_tcPr()
tl = tcPr.get_or_add_tlc()
tl.val = WD_LINE_WIDTH.THIN # 边框宽度
tl.color.rgb = RGBColor(0x00, 0x00, 0x00) # 边框颜色
# 同理设置其他三边:tr(上)、bl(左)、br(右)
# 或者一次性设置整个表格的边框样式
table.border = document.styles['Normal'].border
请注意,对于复杂的自定义样式,可能需要深入到XML级别进行更细致的控制,而这通常不是python-docx提供的高级API所能直接完成的。对于某些特定的需求,可能需要查找更多关于如何通过低级XML操作来实现特定样式的教程或示例代码。
以下是官方预定义样式的取值
Table Normal
Colorful Grid
Colorful Grid Accent 1
Colorful Grid Accent 2
Colorful Grid Accent 3
Colorful Grid Accent 4
Colorful Grid Accent 5
Colorful Grid Accent 6
Colorful List
Colorful List Accent 1
Colorful List Accent 2
Colorful List Accent 3
Colorful List Accent 4
Colorful List Accent 5
Colorful List Accent 6
Colorful Shading
Colorful Shading Accent 1
Colorful Shading Accent 2
Colorful Shading Accent 3
Colorful Shading Accent 4
Colorful Shading Accent 5
Colorful Shading Accent 6
Dark List
Dark List Accent 1
Dark List Accent 2
Dark List Accent 3
Dark List Accent 4
Dark List Accent 5
Dark List Accent 6
Light Grid
Light Grid Accent 1
Light Grid Accent 2
Light Grid Accent 3
Light Grid Accent 4
Light Grid Accent 5
Light Grid Accent 6
Light List
Light List Accent 1
Light List Accent 2
Light List Accent 3
Light List Accent 4
Light List Accent 5
Light List Accent 6
Light Shading
Light Shading Accent 1
Light Shading Accent 2
Light Shading Accent 3
Light Shading Accent 4
Light Shading Accent 5
Light Shading Accent 6
Medium Grid 1
Medium Grid 1 Accent 1
Medium Grid 1 Accent 2
Medium Grid 1 Accent 3
Medium Grid 1 Accent 4
Medium Grid 1 Accent 5
Medium Grid 1 Accent 6
Medium Grid 2
Medium Grid 2 Accent 1
Medium Grid 2 Accent 2
Medium Grid 2 Accent 3
Medium Grid 2 Accent 4
Medium Grid 2 Accent 5
Medium Grid 2 Accent 6
Medium Grid 3
Medium Grid 3 Accent 1
Medium Grid 3 Accent 2
Medium Grid 3 Accent 3
Medium Grid 3 Accent 4
Medium Grid 3 Accent 5
Medium Grid 3 Accent 6
Medium List 1
Medium List 1 Accent 1
Medium List 1 Accent 2
Medium List 1 Accent 3
Medium List 1 Accent 4
Medium List 1 Accent 5
Medium List 1 Accent 6
Medium List 2
Medium List 2 Accent 1
Medium List 2 Accent 2
Medium List 2 Accent 3
Medium List 2 Accent 4
Medium List 2 Accent 5
Medium List 2 Accent 6
Medium Shading 1
Medium Shading 1 Accent 1
Medium Shading 1 Accent 2
Medium Shading 1 Accent 3
Medium Shading 1 Accent 4
Medium Shading 1 Accent 5
Medium Shading 1 Accent 6
Medium Shading 2
Medium Shading 2 Accent 1
Medium Shading 2 Accent 2
Medium Shading 2 Accent 3
Medium Shading 2 Accent 4
Medium Shading 2 Accent 5
Medium Shading 2 Accent 6
Table Grid
网友评论