前言
大家好,今天和大家一起做一个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