如何基于python把文字图片写入word文档
安装代码
pipinstallpython-docx
1.批量化往word文件中添加大批量重复的数据
fromdocximportDocument
fromdocx.enum.textimportWD_ALIGN_PARAGRAPH
fromdocx.sharedimportPt#磅数
fromdocx.oxml.nsimportqn#中文格式
#以上是docx库中需要用到的部分
importtime
price=input('请输入今日价格:')
company_list=['客户1','客户2','客户3','客户4','客户5','客户6']
today1=time.strftime("%Y-%m-%d",time.localtime())
today2=time.strftime("%Y/%m/%d",time.localtime())
today=time.strftime("%Y{y}%m{m}%d{d}",time.localtime()).format(y='年',m='月',d='日')
foriincompany_list:
document=Document()
#设置文档的基础字体中文
document.styles['Normal'].font.name=u'宋体'
#设置文档的基础字体西文
document.styles['Normal'].element.rPr.rFonts.set(qn('w:eastAsia'),u'宋体')
#初始化建立第一个自然段
pl=document.add_paragraph()
#对齐方式为居中,没有这句话默认左对齐
pl.alignment=WD_ALIGN_PARAGRAPH.CENTER
run1=pl.add_run('关于下达%s产品价格的通知'%(today))
run1.font.name='微软雅黑'
run1.element.rPr.rFonts.set(qn('w:eastAsia'),u'微软雅黑')
run1.font.size=Pt(21)
#是否加粗
run1.font.bold=True
#前后距离5磅
pl.space_before=Pt(5)
pl.space_after=Pt(5)
#初始化建立第二个自然段
p2=document.add_paragraph()
run2=p2.add_run(i+":")
#对客户的称呼
run2.font.name='仿宋_GB2312'
run2.element.rPr.rFonts.set(qn('w:eastAsia'),u'仿宋_GB2312')
run2.font.size=Pt(16)
#是否加粗
run2.font.bold=True
#初始化建立第三个自然段
p3=document.add_paragraph()
run3=p3.add_run("根据公司安排,为提供优质客户服务,我单位拟定了今日黄金价格为%s元,特此通知."%price)
#对客户的称呼
run3.font.name='仿宋_GB2312'
run3.element.rPr.rFonts.set(qn('w:eastAsia'),u'仿宋_GB2312')
run3.font.size=Pt(16)
#是否加粗
run3.font.bold=True
#初始化建立第四个自然段
p4=document.add_paragraph()
#对齐方式为居中,没有这句话默认左对齐
p4.alignment=WD_ALIGN_PARAGRAPH.CENTER
run4=p4.add_run("(联系人:小杨电话:18888888888)")
#对客户的称呼
run4.font.name='仿宋_GB2312'
run4.element.rPr.rFonts.set(qn('w:eastAsia'),u'仿宋_GB2312')
run4.font.size=Pt(16)
#是否加粗
run4.font.bold=True
document.save('%s-价格通知.docx'%i)
2.添加图片
fromdocximportDocument
fromdocx.enum.textimportWD_ALIGN_PARAGRAPH
fromdocx.sharedimportPt#磅数
fromdocx.oxml.nsimportqn#中文格式
fromdocx.sharedimportInches#图片尺寸
#以上是docx库中需要用到的部分
importtime
price=input('请输入今日价格:')
company_list=['客户1','客户2','客户3','客户4','客户5','客户6']
today=time.strftime("%Y{y}%m{m}%d{d}",time.localtime()).format(y='年',m='月',d='日')
foriincompany_list:
document=Document()
#设置文档的基础字体中文
document.styles['Normal'].font.name=u'宋体'
#设置文档的基础样式
document.styles['Normal'].element.rPr.rFonts.set(qn('w:eastAsia'),u'宋体')
document.add_picture('banner.jpg',width=Inches(6))
#初始化建立第一个自然段
pl=document.add_paragraph()
#对齐方式为居中,没有这句话默认左对齐
pl.alignment=WD_ALIGN_PARAGRAPH.CENTER
run1=pl.add_run('关于下达%s产品价格的通知'%(today))
run1.font.name='微软雅黑'
run1.element.rPr.rFonts.set(qn('w:eastAsia'),u'微软雅黑')
run1.font.size=Pt(21)
#是否加粗
run1.font.bold=True
#前后距离5磅
pl.space_before=Pt(5)
pl.space_after=Pt(5)
#初始化建立第二个自然段
p2=document.add_paragraph()
run2=p2.add_run(i+":")
#对客户的称呼
run2.font.name='仿宋_GB2312'
run2.element.rPr.rFonts.set(qn('w:eastAsia'),u'仿宋_GB2312')
run2.font.size=Pt(16)
#是否加粗
run2.font.bold=True
#初始化建立第三个自然段
p3=document.add_paragraph()
run3=p3.add_run("根据公司安排,为提供优质客户服务,我单位拟定了今日黄金价格为%s元,特此通知."%price)
#对客户的称呼
run3.font.name='仿宋_GB2312'
run3.element.rPr.rFonts.set(qn('w:eastAsia'),u'仿宋_GB2312')
run3.font.size=Pt(16)
#是否加粗
run3.font.bold=True
table=document.add_table(rows=3,cols=3,style='TableGrid')
table.cell(0,0).merge(table.cell(0,2))
table_run1=table.cell(0,0).paragraphs[0].add_run('xx产品报价表')
table_run1.font.name=u'隶书'
table_run1.element.rPr.rFonts.set(qn('w:eastAsia'),u'隶书')
table.cell(1,0).text='日期'
table.cell(1,1).text='价格'
table.cell(1,2).text='备注'
table.cell(2,0).text=today
table.cell(2,1).text=str(price)
table.cell(2,2).text=''
#初始化建立第四个自然段
p4=document.add_paragraph()
#对齐方式为居中,没有这句话默认左对齐
p4.alignment=WD_ALIGN_PARAGRAPH.CENTER
run4=p4.add_run("(联系人:小杨电话:18888888888)")
#对客户的称呼
run4.font.name='仿宋_GB2312'
run4.element.rPr.rFonts.set(qn('w:eastAsia'),u'仿宋_GB2312')
run4.font.size=Pt(16)
#是否加粗
run4.font.bold=True
#插入分页符
document.add_page_break()
p5=document.add_paragraph()
run4=p5.add_run('此处是广告')
document.save('%s-价格通知.docx'%i)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。