美文网首页
python操作word文档-1

python操作word文档-1

作者: Chaweys | 来源:发表于2020-12-27 17:49 被阅读0次

#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

相关文章

网友评论

      本文标题:python操作word文档-1

      本文链接:https://www.haomeiwen.com/subject/amvonktx.html