22word文件操作

word文件操作

word文件写操作

from docx import Document
# 导入数值计量单位:Inches英尺,Cm-厘米,Pt-像素,RGBColor
from docx.shared import Cm
# 创建空文档
doc = Document()

# 添加内容
# 标题:文档对象.add_heading(text='', level=1)
# text-标题内容
# level-级别,最小是0最大是9
doc.add_heading('添加标题1', level=0)
doc.add_heading('添加标题2', level=1)
doc.add_heading('添加标题3', level=2)
doc.add_heading('添加标题4', level=3)
doc.add_heading('添加标题5', level=4)


# 添加段落文字
doc.add_heading('2.添加段落文字', level=0)
p1 = doc.add_paragraph('虚拟按键三十年')
p2 = doc.add_paragraph('是对啊百度那边的')

# 插入段落:段落对象.insert_paragraph_before(text=')-在指定段落前插入指定段落内容,返回插入的段落对象
p3 = p2.insert_paragraph_before('HELLO WORLD')

# 插入分页
# 插入分页后的内容会在新的一页中显示
doc.add_page_break()

# 插入图片
doc.add_picture('files/b.png', width=Cm(3))

# 添加表格
# 创建表格对象
table = doc.add_table(3, 4)
# 获取单元格:表格对象.cell(行号, 列号)
cell1 = table.cell(0, 0)
cell1.text = '姓名'

# 获取所有的行
row_2 = table.rows[1]
cell2 = row_2.cells[0]
cell2.text = '小明'
# 添加行
table.add_row()
table.add_column(Cm(3))

# 保存文件
doc.save('files/demo.docx')

word内容样式

# 段落样式
# style的值:ListBullet(文件内容前带点),Normal(默认的)
p1 = doc.add_paragraph('我是段落1', style='ListBullet')

# 倾斜和加粗
p2 = doc.add_paragraph('我是段落2-1,不能单独设置样式的部分')
run1 = p2.add_run('我是加粗的部分')
# 加粗
run1.bold = True
run2 = p2.add_run('我是倾斜的部分')
# 倾斜
run2.italic = True
run3 = p2.add_run('我是加粗倾斜的部分')
run3.bold = True
run3.italic = True

p3 = doc.add_paragraph()
run = p3.add_run('整段加粗')
run.bold = True

# 在表格中显示图片
table = doc.add_table(2, 3)
cell = table.cell(0, 0)
p = cell.add_paragraph()
run = p.add_run('文字')
run.add_picture('files/b.png')

# 对齐方式
h1 = doc.add_heading('标题', level=0)
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
# 对齐方式:LEFT(左对齐),RIGHT(右对齐),CENTER(水平居中),JUSTIFY_MED(垂直方向居中)
# JUSTIFY_HI(顶部对齐),JUSTIFY_MID(居中对齐),JUSTIFY_LOW(底部对齐)
h1.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER
# 表格内容对齐
table2 = doc.add_table(2, 3)
cell1 = table2.cell(0, 1)
p = cell1.add_paragraph('姓名')
p.alignment = WD_PARAGRAPH_ALIGNMENT.RIGHT
# 设置字体
h1 = doc.add_heading(level=1)
run = h1.add_run('标题显示内容')
# 设置字体大小
run.font.size = Pt(50)
# 设置字体颜色
run.font.color.rgb = RGBColor(255, 0, 0)
# 设置字体名称
run.font.name = u'宋体'
# 注册字体(使用字体后必须注册)
run.element.rPr.rFonts.set(('w:eastAsia'),u'宋体')

word文件读操作

# 获取段落内容
# 获取整个文档中所有的段落
all_p = doc.paragraphs
print(all_p)

# 获取段落中的文字内容
# 段落对象.text
for p in all_p:
    print(f'===:{p.text}')

# 获取表格内容
# 获取所有表
all_table = doc.tables
print(all_table)
# 获取表中单元格内容
table = all_table[-1]
cell = table.cell(1, 2)
# 获取单元格内容
# print(cell.text)
# 修改单元格内容
cell.text = '100'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值