欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

昨晚我牺牲很大,用Python深夜帮行政小姐姐做了500多份武汉复工证明

程序员文章站 2022-05-11 08:38:39
时间:2020.3.22 22:08, 距离 “ 武汉发布 ”官方发布《湖北省内外人员返汉、省内人员离汉政策来了》 30分钟, 大晚上的,公司行政小姐姐骚扰我。。。 我能怎么? 实在不好拒绝。。。。。。 准备阶段 1. 需要1张excel表格,记录了每个员工的必要信息, openpyxl模块可以读取 ......

时间:2020.3.22 22:08,
距离 “ 武汉发布 ”官方发布《湖北省内外人员返汉、省内人员离汉政策来了》 30分钟,
大晚上的,公司行政小姐姐骚扰我。。。
昨晚我牺牲很大,用Python深夜帮行政小姐姐做了500多份武汉复工证明
我能怎么? 实在不好拒绝。。。。。。

准备阶段
  1. 需要1张excel表格,记录了每个员工的必要信息, openpyxl模块可以读取excel
  2. 需要1个《复工证明_模板》.docx, 可以用python-docx来读写word
  3. 复工模板是一个模板,里边能动态替换的地方是:[todo1][todo2][todo3]
  4. 复工模板word里边标题和公司落款可以自定义化,可自行diy。
    昨晚我牺牲很大,用Python深夜帮行政小姐姐做了500多份武汉复工证明

python批处理脚本形式
import openpyxl
from docx import document
from docx.shared import pt
from docx.oxml.ns import qn

# 读取excel里边的内容
wb = openpyxl.load_workbook('员工名单信息.xlsx')
table = wb.active
rows = table.max_row
cols = table.max_column
for each_row in range(2, rows+1):
    value1 = table.cell(row=each_row, column=1).value
    value2 = table.cell(row=each_row, column=2).value
    value3 = table.cell(row=each_row, column=3).value

    ##### 替换到word里去
    document = document('复工证明_模板.docx')  # 打开文件demo.docx
    for paragraph in document.paragraphs:
        if '[todo1]' in paragraph.text:
            tmp_text = paragraph.text.replace("[todo1]", value1)
            if '[todo2]' in paragraph.text:
                tmp_text = tmp_text.replace("[todo2]", value2)
            if '[todo3]' in paragraph.text:
                tmp_text = tmp_text.replace("[todo3]", value3)
            paragraph.text = ""
            p = paragraph.add_run(tmp_text)
            p.font.name = '宋体'  # 设置字体
            p.element.rpr.rfonts.set(qn('w:eastasia'), u'宋体')
            p.font.size = pt(14)  # 设置字号
            p.font.bold = true

    document.save('返工(返岗)证明_%s.docx' % value1)  # 保存在当前目录下面

程序打包成.exe

考虑到行政小姐姐,肯定不会用python,也不具备python运行环境,
帮她打包成.exe吧。。。 用pyinstaller 打包如下:
有点变态的大,没办法啊,py2exe打包出了点问题,不然不会用pyinstaller打包...
昨晚我牺牲很大,用Python深夜帮行政小姐姐做了500多份武汉复工证明

下载地址:



运行方式与效果:

【可编辑】 《员工名单信息.xlsx》里的姓名,性别,身份证号码
【可编辑】 《复工证明_模板.docx》里的标题,正文,还有公司落款,但是要保留[todo1][todo2][todo3]
双击运行“docx_generator.exe"即可。
最终生成的返工(返岗)证明效果如下:
昨晚我牺牲很大,用Python深夜帮行政小姐姐做了500多份武汉复工证明

更多更好的原创文章,请访问官方网站:
自拍教程(自动化测试python教程,武散人编著)
原文链接:
也可关注“武散人”微信订阅号,随时接受文章推送。
昨晚我牺牲很大,用Python深夜帮行政小姐姐做了500多份武汉复工证明