美文网首页
python-docx设置表格样式

python-docx设置表格样式

作者: ButICare_b72d | 来源:发表于2024-01-05 00:08 被阅读0次

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

相关文章

网友评论

      本文标题:python-docx设置表格样式

      本文链接:https://www.haomeiwen.com/subject/ulobndtx.html