利用Python自动生成请假条,实现高效办公(附零基础学习资料)

前言

大家好,今天和大家一起做一个Python自动化办公的案例。

先说一下需求,假如你是公司的底层小虾米,前段时间收集了公司各个部门的请假信息汇总表如下:

(文末送读者福利)

在这里插入图片描述
现在你需要根据表格中每个人的信息依次生成各自的请假条如下:

在这里插入图片描述

1、代码实现

首先使用openpyxl,循环读取Excel中的员工信息。

@RunTime
def read_excel_python_office():
    path = r'./晚枫的Excel员工文件.xlsx'  # 路径为Excel 北件所在的位置,可按实际待况更改
    workbook = load_workbook(path)
    sheet = workbook.active
    n = 0
    for row in sheet.rows:
        if n:
            name = row[0].value
            department = row[1].value
            reason = row[2].value
            days = row[3].value
            date = str(row[4].value).split()[0]
            print(date)
            if date != 'None':
                request_for_leave_wanfeng(name, department, reason, days, date)
        n += 1

其次使用python-docx生成请假条。

@RunTime
def request_for_leave_wanfeng(name, department, reason, days, date):
    doc = Document()
    heading_1 = '请假条'
    paragraph_1 = doc.add_heading(heading_1, level=1)  # 居中对芳
    paragraph_1.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER  # 标题要打,单独修改教大字号
    for run in paragraph_1.runs:
        run.font.size = Pt(17)
    word_1 = "    本人"
    word_2 = ",所在部门"
    word_3 = ",由于"
    word_4 = ",需请假"
    word_5 = "天。"

    paragraph_3_python_office = doc.add_paragraph()
    paragraph_3_python_office.add_run(word_1)
    paragraph_3_python_office.add_run(name).underline = True
    paragraph_3_python_office.add_run(word_2)
    paragraph_3_python_office.add_run(department).underline = True
    paragraph_3_python_office.add_run(word_3)
    paragraph_3_python_office.add_run(reason).underline = True
    paragraph_3_python_office.add_run(word_4)
    paragraph_3_python_office.add_run(str(days)).underline = True
    paragraph_3_python_office.add_run(word_5)
    # 设置下划线
    paragraph_3_python_office.paragraph_format.line_spacing = 1.5
    word_6 = '申请人:'
    paragraph_4_python4office_cn = doc.add_paragraph()
    paragraph_4_python4office_cn.add_run(word_6)
    paragraph_4_python4office_cn.add_run(name).underline = True
    paragraph_4_python4office_cn.alignment = WD_PARAGRAPH_ALIGNMENT.RIGHT

    word_7 = '日期:'
    sign_date = "{}年{}月{}日".format(date.split('-')[0], date.split('-')[1], date.split('-')[2])
    paragraph_5_python_office_com = doc.add_paragraph()
    paragraph_5_python_office_com.add_run(word_7)
    paragraph_5_python_office_com.add_run(sign_date).underline = True
    paragraph_5_python_office_com.alignment = WD_PARAGRAPH_ALIGNMENT.RIGHT
    for paragraph in doc.paragraphs:
        for run in paragraph.runs:
            # 统一修改颜色
            run.font.color.rgb = RGBColor(0, 0, 0)
            run.font.name = '楷体'
            r = run._element.rPr.rFonts
            r.set(qn('w:eastAsia'), '楷体')

    doc.save(r".\python-office\{}-请假条-BY-程序员晚枫.docx".format(name))

读者福利:知道你对Python感兴趣,便准备了这套python学习资料

对于0基础小白入门:

如果你是零基础小白,想快速入门Python是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。
二方面还可以找到适合自己的学习方案

包括:Python永久使用安装包、Python web开发,Python爬虫,Python数据分析,人工智能、机器学习等学习教程。带你从零基础系统性的学好Python!

零基础Python学习资源介绍

👉Python学习路线汇总👈

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(学习教程文末领取哈)

👉Python必备开发工具👈

温馨提示:篇幅有限,已打包文件夹,获取方式在:文末

👉Python学习视频600合集👈

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

👉实战案例👈

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

👉100道Python练习题👈

检查学习结果。

👉面试刷题👈



在这里插入图片描述

资料领取

这份完整版的Python全套学习资料已为大家备好,朋友们如果需要可以微信扫描下方二维码添加,输入"领取资料" 可免费领取全套资料有什么需要协作的还可以随时联系我朋友圈也会不定时的更新最前言python知识。↓↓↓
或者

点此链接】领取

这世界上赚钱成本最低的就是:用知识投资大脑

人生什么时候学习都不晚,晚的是你一直想学却一直没有行动,而导致大量内耗

最后祝你学习愉快

好文推荐

了解python的前景:https://blog.csdn.net/weixin_49891576/article/details/127187029

了解python的副业兼职赚钱:https://blog.csdn.net/weixin_49891576/article/details/127125308

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值