【原创】python_docx制作word文档实例demo

实习工作中,遇到用python制作word模板的任务,其实说白了就是python-docx的使用。目前网上对这一个库的介绍得很少,很零散,所以很多功能我是尽量参考其官网,但是官网上面很多功能目前只有说明文档,而代码并还没有及时更新,以至于按照官网上面做了,python却报错。比如:自定义表格的高度。下面,我对我在此次工作任务中,所遇到的一些基本的功能分别做一下说明与展示。我用的是python2.7

# -*- coding:utf-8 -*-
from docx import Document
from docx.oxml.ns import qn
from docx.oxml import OxmlElement
from docx.shared import RGBColor
from docx.shared import Pt
from docx.shared import Inches
# from docx.enum.text import WD_ALIGN_PARAGRAPH
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT




document = Document()
document.add_heading('This is my title', 0)
document.add_paragraph('my paragraph')

paragraph = document.add_paragraph()


document.styles['Normal'].font.name = u'黑体'
p = document.add_paragraph()
paragraph.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER
run = p.add_run(u'我添加的段落文字 ')
run.font.color.rgb = RGBColor(54, 95, 145)
run.font.size = Pt(36)

# pic = document.add_picture('logo1.PNG')
# last_paragraph = document.paragraphs[-1]
# last_paragraph.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER  # 图片居中设置

rows = 2
cols = 3
table = document.add_table(rows=rows, cols=cols, style="Table Grid")  # 添加2行3列的表格

for i in range(rows):
    tr = table.rows[i]._tr
    trPr = tr.get_or_add_trPr()
    trHeight = OxmlElement('w:trHeight')
    trHeight.set(qn('w:val'), "450")
    trPr.append(trHeight)  # 表格高度设置
# table.autofit = False
col = table.columns[1]
col.width = Inches(5)
arr = [u'序号', u"类型", u"详细描述"]
heading_cells = table.rows[0].cells
for i in range(cols):
    p = heading_cells[i].paragraphs[0]
    run = p.add_run(arr[i])
    run.font.color.rgb = RGBColor(54, 95, 145)  # 颜色设置,这里是用RGB颜色
    run.font.size = Pt(12)  # 字体大小设置,和word里面的字号相对应
    p.paragraph_format.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER
table.cell(1, 1).text = u'表格文字'
table.add_row()
document.save('test1.docx')

顶部一行是防止中文乱码,还有要注意的是引用包,from docx.enum.text import WD_ALIGN_PARAGRAPH 网上大多数是这个,放进去运行的时候会报错,然后就换了个引用方式 ,

from docx.enum.text import WD_PARAGRAPH_ALIGNMENT

,也可以用,不报错。

1572337295212469.png



免责声明:本站内收录的所有文章与图片资源均来自于互联网,其版权均归原作者及其网站所有.如果您对本站文章、图片资源的归属存有异议,请立即通知帝一博客(QQ:17762131),情况属实,我们会第一时间予以删除,并同时向您表示歉意!


您可以还会对下面的文章感兴趣:

  • 关于视频网站内容标题设置的提醒
  • 百度搜索引擎基础知识
  • 做一个网站多少钱
  • Intel i9-9900K销售火爆,货源紧俏,4999元买8核完全不亏!
  • 未建好页面应返回503状态码,防止被删除
  • 如何选购稳定免备案服务器?
  • centos7查看分区命令
  • 新王牌.wang域名低价风暴
  • 企业选择什么品牌的服务器最好?
  • 每天逛DEDECMS论坛的那点事