#coding=utf-8
import docx
from docx.shared import Inches
doc=docx.Document() #创建word文档对象
doc.add_heading("Document Title",0) #给word文档增加标题,参数0表示添加的该字符串为标题
p=doc.add_paragraph("A plain paragraph having some") #添加一段话
p.add_run("加粗").bold=True #添加字符串"加粗",并将字体设置为加粗:bold
p.add_run("and some") #添加字符串:"and some"
p.add_run("斜体").italic=True #添加字符串"斜体",并将字体设置为斜体:italic
doc.add_heading("添加一级标题",level=1) #给word文档增加标题,参数1表示添加的该字符串为标题
doc.add_paragraph("Intense quote",style="Intense Quote") #添加段落"Intense quote",格式为"Intense quote"
doc.add_paragraph("List Bullet",style="List Bullet") #添加段落"List Bullet",格式为"List Bullet"
doc.add_paragraph("List Number",style="List Number") #添加段落"List Number",格式为"List Number"
doc.add_picture("1.jpg",width=Inches(2)) #添加图片,并设置宽度
records = (
(3, '101', 'Spam'),
(7, '422', 'Eggs'),
(4, '631', 'Spam, spam, eggs, and spam')
)
table=doc.add_table(rows=1,cols=3) #添加一行三列的表格
hdr_rows=table.rows[0].cells #定义为完整第一行-即包含所有单元格
hdr_rows[0].text="Qty" #给第一个单元格写入字符串"Qty"
hdr_rows[1].text="Id" #给第二个单元格写入字符串"Id"
hdr_rows[2].text="Desc" #给第三个单元格写入字符串"Desc"
'''
或:
table.cell(0,0).text="Qty" #给表格插入字符串,第一行第一列,注:行和列是从0开始index
table.cell(0,1).text="Id"
table.cell(0,2).text="Desc"
'''
#根据元组records的记录逐一添加每行
for Qty,Id,Desc in records:
row_cells=table.add_row().cells #每循环一次元组就添加完整一行-即包含所有单元格
row_cells[0].text=str(Qty) #给第一个单元格写入字符串str(Qty)
row_cells[1].text=Id #给第二个单元格写入字符串Id
row_cells[2].text=Desc #给第三个单元格写入字符串Desc
doc.add_page_break() #添加分页符
doc.save("demo.docx") #保存至文档

demo-docx1.png
#coding=utf-8
import docx
doc=docx.Document()
doc.add_heading("需要制作的文档",0)
table=doc.add_table(rows=1,cols=6) #添加一行六列的表格
hdr_row=table.rows[0].cells
hdr_row[0].text="第一列"
hdr_row[1].text="第二列"
hdr_row[2].text="第三列"
hdr_row[3].text="第四列"
hdr_row[4].text="第五列"
hdr_row[5].text="第六列"
'''
out.txt
123,456,789,234,567,151
546,645,894,496,165,897
897,987,354,899,123,945
648,644,952,324,672,567
'''
with open("out.txt") as f:
for line in f:
result=line.split(',')
print(result)
cel_row=table.add_row().cells
cel_row[0].text=result[0]
cel_row[1].text=result[1]
cel_row[2].text=result[2]
cel_row[3].text=result[3]
cel_row[4].text=result[4]
cel_row[5].text=result[5]
doc.save("demo2.docx")

demo-docx2.png
网友评论