pythondocx使⽤教程_python_docx制作word⽂档详细使⽤说
明【转】
⽬前⽹上对这⼀个库的介绍得很少,很零散,所以很多功能我是尽量参考其官⽹,但是官⽹上⾯很多功能⽬前只有说明⽂档,⽽代码并还没有及时更新,以⾄于按照官⽹上⾯做了,python却报错。⽐如:⾃定义表格的⾼度。下⾯,我对我在此次⼯作任务中,所遇到的⼀些基本的功能分别做⼀下说明与展⽰。我⽤的是python2.7
1.创建⽂档
from docx import Document
document = Document()
若括号⾥⾯写⼊word⽂件路径,则表明打开该⽂件
2.添加标题
document.add_heading('This is my title', 0)
但是,这个有个问题是标题下⾯有⼀条横线,对于重度强迫症的我是⽆法容忍的。所以我直接添加段落⽂字表⽰标题
3.添加段落⽂字
from docx.shared import RGBColor
from docx.shared import Pt
um.text import WD_ALIGN_PARAGRAPH
document.styles['Normal'].font.name = u'⿊体' #可换成word⾥⾯任意字体
p = document.add_paragraph()project
p.paragraph_format.alignment = WD_ALIGN_PARAGRAPH.CENTER #段落⽂字居中设置
run = p.add_run(u'我添加的段落⽂字')
电脑恢复删除的文件b = RGBColor(54,95,145) #颜⾊设置,这⾥是⽤RGB颜⾊
run.font.size = Pt(36) #字体⼤⼩设置,和word⾥⾯的字号相对应melon是什么水果
4.添加图⽚
pic = document.add_picture('pic.png',width = Inches(1.5)) #图⽚和python⽂件不在同⼀个⽂件夹下⾯的时候,要补全⽂件地址
默认情况下,图⽚在⽂档中是左对齐的,如果要对图⽚进⾏居中显⽰,在⽹上了很多⽅法都不可⾏,最后到⼀种⽅法是直接加⼊以下代码:
last_paragraph = document.paragraphs[-1]
last_paragraph.alignment = WD_ALIGN_PARAGRAPH.CENTER #图⽚居中设置
5.添加表格
table = document.add_table(rows=2, cols=3,) #添加2⾏3列的表格
表格的style有很多种,默认情况下表格是没有边框的,Table Grid格式是普通的⿊⾊边框表格,更多表格样式可以百度。但是,我们很多时候希望对表格进⾏更为漂亮的修改,⽐如⾃定义表格某⼀列的宽度,表格的⾼度。
from docx.shared import Inches
# table.autofit = False
col = lumns[1]
col.width = Inches(5) #设置表格第2列宽度为Inches(5) 默认情况下表格是⾃动适应⽂档宽度
对于表格的⾼度官⽹上⾯有说明⽂档,但是其库函数的代码没有更新,所以了很久才到下⾯⼀种⽅法,以后官⽹要是更新了代码可以按照官⽹上⾯的⽅法进⾏设置更为简单⼀些。
l.ns import qn
l import OxmlElement
for i in range(rows): #遍历表格的所有⾏
tr = ws[i]._trzookeeperjava视频
trPr = tr.get_or_add_trPr()
trHeight = OxmlElement('w:trHeight')
trHeight.set(qn('w:val'), "450")
trPr.append(trHeight) #表格的每⼀⾏进⾏⾼度设置,450这个值可以任意修改
6.表格⾥⾯添加⽂字
heading_cells = ws[0].cells #将表格的第⼀⾏设置为表头
for i in range(cols): #cols为表格的列数
p = heading_cells[i].paragraphs[0] #利⽤段落功能添加⽂字
run = p.add_run(Arr[i]) #把表头放在⼀个数组⾥⾯的,这样⽅便赋值
p.paragraph_format.alignment = WD_ALIGN_PARAGRAPH.CENTER #居中设置,默认是左对齐
还有⼀种直接对表格赋值的⽅式:
7.添加表格⾏
row = table.add_row()
若需要对添加的⾏进⾏赋值,其⽅法和上⾯是⼀样的。
8.⽂档的保存
document.save('test.docx') #可以设置其他路径
整体代码如下:
from docx import Document
l.ns import qn
l import OxmlElementactivities arranged什么意思
from docx.shared import RGBColor
from docx.shared import Pt
um.text import WD_ALIGN_PARAGRAPH
from docx.shared import Inches
document = Document()
document.add_heading('This is my title', 0)
document.add_paragraph('my paragraph')
document.styles['Normal'].font.name = u'⿊体'
p = document.add_paragraph()
p.paragraph_format.alignment = WD_ALIGN_PARAGRAPH.CENTER
run = p.add_run(u'我添加的段落⽂字 ')
b = RGBColor(54, 95, 145)
run.font.size = Pt(36)
pic = document.add_picture('logo1.PNG')
last_paragraph = document.paragraphs[-1]
last_paragraph.alignment = WD_ALIGN_PARAGRAPH.CENTER # 图⽚居中设置
rows = 2
cols = 3
table = document.add_table(rows=rows, cols=cols,style = "Table Grid") # 添加2⾏3列的表格for i in range(rows):
tr = ws[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 = lumns[1]
col.width = Inches(5)
arr = [u'序号',u"类型",u"详细描述"]
heading_cells = ws[0].cells
for i in range(cols):
p = heading_cells[i].paragraphs[0]
run = p.add_run(arr[i])
b = RGBColor(54, 95, 145) # 颜⾊设置,这⾥是⽤RGB颜⾊
run.font.size = Pt(12) # 字体⼤⼩设置,和word⾥⾯的字号相对应
p.paragraph_format.alignment = WD_ALIGN_PARAGRAPH.CENTER
table.add_row()
document.save('test1.docx')
python入门教程非常详细word运⾏结果如下:
python_docx制作word⽂档详细使⽤说明
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论