2025年5月16日 星期五 乙巳(蛇)年 二月十八 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > Python

【Python】操作word文档

时间:04-13来源:作者:点击数:64

【Python】操作word文档

  • #导入相关扩展包
  • import docx
  • from docx.enum.text import WD_ALIGN_PARAGRAPH#设置对齐格式
  • from docx.shared import Pt#设置字体大小
  • from docx.shared import Inches#设置缩进,图片大小等
  • from docx.oxml.ns import qn
  • #(1)写入word文件
  • #首先,创建一个Document对象,即word文档
  • doc = docx.Document()
  • #添加一段文字
  • p1 = doc.add_paragraph('新增一个段落')
  • #添加一段居中文字
  • p2 = doc.add_paragraph('添加一个居中段落')
  • p2.paragraph_format.alignment=WD_ALIGN_PARAGRAPH.CENTER#设置居中,(LEFT:左对齐;CENTER:文字居中;RIGHT:右对齐;JUSTIFY:本两端对齐)
  • #接着添加加粗、给定字号、给定字体的文字
  • run1 = p2.add_run('加粗三号中文黑体')
  • run1.bold=True#设置加粗
  • run1.font.size=Pt(16)#设置字体大小,16对应三号字体
  • run1.font.name='黑体'#仅设置此参数时,文字为西文字体
  • run1._element.rPr.rFonts.set(qn('w:eastAsia'), u'黑体') #设置中文字体,和run.font.name一起使用
  • #添加一段右对齐文字
  • p3 = doc.add_paragraph()
  • p3.paragraph_format.alignment=docx.enum.text.WD_ALIGN_PARAGRAPH.RIGHT
  • run2 = p3.add_run('右对齐西文宋体')
  • run2.font.name = '宋体'#设置西文字体
  • #左对齐首行缩进文字
  • p4 = doc.add_paragraph('左对齐首行缩进')
  • p4.paragraph_format.alignment=docx.enum.text.WD_ALIGN_PARAGRAPH.LEFT#设置左对齐
  • p4.paragraph_format.first_line_indent=Inches(0.5)#设置首行缩进(默认Inches(0.5)等于四个空格)
  • run4 = p4.add_run('----接着中文宋体小四号')
  • run4.font.name='宋体'
  • run4._element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体') #设置中文字体
  • run4.font.size=Pt(12)#设置字体大小
  • #插入图片,并设置宽度和高度
  • doc.add_picture(r"figure1.png", width=Inches(6.0), height=Inches(2.6))
  • #默认情况下,图片在文档中是左对齐的,如果要对图片进行居中显示,直接加入以下代码
  • last_paragraph = doc.paragraphs[-1]
  • last_paragraph.alignment = WD_ALIGN_PARAGRAPH.CENTER
  • #换页,分页
  • doc.add_page_break()#分页,无论本页是否满,去下一页操作
  • p5 = doc.add_paragraph('这是第二页,在这插入一个表格')
  • p5.paragraph_format.alignment=WD_ALIGN_PARAGRAPH.CENTER
  • #插入表格(表格的style有很多种,默认情况下表格是没有边框的,Table Grid格式是普通的黑色边框表格(https://www.cnblogs.com/xtfge/p/9949053.html))
  • table = doc.add_table(rows=3,cols=2,style="Table Grid")#添加3行2列的表格
  • #设置表格第1列宽度为Inches(2) 默认情况下表格是自动适应文档宽度
  • col = table.columns[0]
  • col.width = Inches(2)
  • heading_cells = table.rows[0].cells #将表格的第一行设置为表头
  • Arr = ['表头','加粗']
  • for i in range(2): #cols=2为表格的列数
  • p = heading_cells[i].paragraphs[0] #利用段落功能添加文字
  • run = p.add_run(Arr[i]) #把表头放在一个数组里面的,这样方便赋值
  • #设置加粗
  • run.bold=True
  • #设置中文字体
  • run.font.name='黑体'
  • run._element.rPr.rFonts.set(qn('w:eastAsia'), u'黑体')
  • p.paragraph_format.alignment = WD_ALIGN_PARAGRAPH.CENTER #居中设置,默认是左对齐
  • table.cell(2,1).text = u'第三行第二列'#在表格的i行j列设置文字,默认文字在表格中是左对齐
  • table.add_row() #添加表格行
  • table.cell(3,0).text = u"新增的一行"
  • #保存上面建立的word文件到本地
  • doc.save(r"test.docx")
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门