python-docx 设置 word 文档中表格格式

引入会用到的库

from docx import Document
from docx.shared import Pt
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
from docx.shared import Cm
from docx.shared import RGBColor

表格样式

#方法一:创建表格时设置
doc=Document()
table = doc.add_table(rows=4, cols=3,style ='Table Grid')
#方法二:创建表格后,再设置
doc=Document()
table = doc.add_table(rows=4, cols=3)
table.style ='Table Grid'

python-docx 表格样式列表

设置表格列宽 & 行高

'''
设置列宽
可以设置每个单元格的宽,同列单元格宽度相同,如果定义了不同的宽度将以最大值准
'''
table.cell(0,0).width=Cm(10)

#设置行高
table.rows[0].height=Cm(2)

表格数据写入

#方法一
cell=table.cell(0, 1)
cell.text = 'i-search'

#方法二
cell=table.cell(0,0)
p=cell.paragraphs[0]
run = p.add_run("RPA")  

表格文本格式设置

#单个单元格设置
run.font.color.rgb = RGBColor(255, 0, 0)  # 颜色设置,这里是用RGB颜色
run.font.size = Pt(15)  # 字体大小设置,和word里面的字号相对应
#设置水平对齐方式(LEFT,RIGHT,CENTER)
p.paragraph_format.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER    
#设置垂直对齐方式(TOP,BOTTOM,CENTER)
cell.vertical_alignment = WD_CELL_VERTICAL_ALIGNMENT.CENTER  


#设置整个表格字体属性
table.style.font.size=Pt(18)
table.style.font.color.rgb=RGBColor(255, 0, 0)
table.style.paragraph_format.alignment=WD_PARAGRAPH_ALIGNMENT.CENTER

合并单元格

cell_1=table.cell(1, 0)
cell_2=table.cell(2, 1)
cell_1.merge(cell_2)

合并后单元格
python-docx 设置 word 文档中表格格式

添加行列

#添加行
table.add_row()

'''
添加列
width:列宽
'''
table.add_column(width=Cm(1))