用Python批量生成word文档

楼主有个同事妹子每天都做重复性工作而且加班到很晚。这是楼主出于兴趣帮她写的的批量生成保密协议word文档的脚本,共享给大家使用~1小时的工作,用脚本5秒钟即搞定有木有~

copy到本地存成.py文件即可使用,生成的文件是这样的:

#创建并写入word文档

import docx

from docx.oxml.ns import qn

from docx.shared import RGBColor

from docx.enum.text import WD_ALIGN_PARAGRAPH

##run = p.add_run(u我添加的段落文字)

##run.font.color.rgb = RGBColor(54,95,145) #颜色设置,这里是用RGB颜色

##run.font.size = Pt(36) #字体大小设置,和word里面的字号相对应

#要生成的保密协议人员信息

name_list = [(小红,xxxxxxxxxxxx),(小明,xxxxxxxxxxxx)]

工作中的name_list是从文件读取,格式为名称 身份证,用\t做分隔符:

name_list = list()

file_in = open(name_list.txt)

for line in file_in:

name_list.append(line.strip().split(\t))

file_in.close()

#保密协议正文

content = 保密协议正文

工作中的content是从文件读取:

file_in = open(content.txt)

content = file_in.read()

file_in.close()

#以下为生成保密协议的代码,name_list中的每个人员都将生成对应一份保密协议文档

for names in name_list:

#创建内存中的word文档对象

file=docx.Document()

file.styles[Normal].font.name = u宋体

file.styles[Normal]._element.rPr.rFonts.set(qn(w:eastAsia), u宋体) #可换成word里面任意字体

#写入若干段落

p1 = file.add_paragraph()

p1.paragraph_format.alignment = WD_ALIGN_PARAGRAPH.CENTER #段落文字居中设置

run = p1.add_run("保密协议")

run.font.size = docx.shared.Pt(14) #四号字体

#个人信息

p2 = file.add_paragraph()

p2.add_run(本人).font.size = docx.shared.Pt(10.5) #五号字体

run = p2.add_run( %s %names[0])

run.font.size = docx.shared.Pt(12) #小四号字体

run.font.underline = True

p2.add_run(,身份证号码为).font.size = docx.shared.Pt(10.5) #五号字体

run = p2.add_run( %s %names[1])

run.font.size = docx.shared.Pt(12) #小四号字体

run.font.underline = True

p2.add_run(,作为).font.size = docx.shared.Pt(10.5) #五号字体

run = p2.add_run( xxxx股份有限公司 )

run.font.size = docx.shared.Pt(12) #小四号字体

run.font.underline = True

p2.add_run(公司(以下简称:).font.size = docx.shared.Pt(10.5) #五号字体

run = p2.add_run( xxxx )

run.font.size = docx.shared.Pt(12) #小四号字体

run.font.underline = True

p2.add_run(公司)派往xxxx有限公司及其关联机构公司(以下简称:xx公司)从事).font.size = docx.shared.Pt(10.5) #五号字体

#run = p2.add_run(%s %names[2]).font.size = docx.shared.Pt(10.5) #五号字体

p2.add_run(相关工作,对).font.size = docx.shared.Pt(10.5) #五号字体

run = p2.add_run(" 2018年xxx定制开发项目 ")

run.font.size = docx.shared.Pt(12) #小四号字体

run.font.underline = True

p2.add_run(项目(以下简称“本项目”)而获得的信息进行保密,就保密事项达成以下一致:).font.size = docx.shared.Pt(10.5) #五号字体

p3 = file.add_paragraph()

p3.add_run(content).font.size = docx.shared.Pt(10.5) #五号字体

p4 = file.add_paragraph()

p4.add_run("协议承诺人:%s" %names[0]).font.size = docx.shared.Pt(10.5) #五号字体

p5 = file.add_paragraph()

p5.add_run("日期:2018/04/28").font.size = docx.shared.Pt(10.5) #五号字体

#保存

file.save("技术支撑服务人员保密协议-%s.docx" %names[0])

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

执刀人的工具库

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值