2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 计算机办公自动化——Python批量生成请假条

计算机办公自动化——Python批量生成请假条

时间:2019-11-07 08:37:38

相关推荐

计算机办公自动化——Python批量生成请假条

Python使用openpyxl、docx批量生成请假条

前言第三方库的安装示例代码运行效果

前言

加入你有一个下图所示的表格,需要批量生成他们的请假条,你会选择如何做呢?是一步一步的手打,还是呼唤请假人手打呢?

下面我们来看如何使用Python一键生成所有人的请假条。

操作系统:windows10 家庭版

开发环境:Pycharm Conmunity .3

解释器版本:Python3.8

第三方库:openpyxl、docx

第三方库的安装

需要安装openpyxl、docx

你可以参考我的以下文章获取些许帮助:

Python第三方库安装——使用vscode、pycharm安装Python第三方库

示例代码

from openpyxl import load_workbookfrom docx import Documentfrom docx.enum.text import WD_PARAGRAPH_ALIGNMENTfrom docx.shared import RGBColor, Ptfrom docx.oxml.ns import qnimport osdef request_for_leave(name, department, reason, days, date):doc = Document() # 创建一个Document对象# 设置标题paragraph_1 = doc.add_heading('请 假 条', level=1)# 标题居中对齐paragraph_1.alignment = WD_PARAGRAPH_ALIGNMENT.CENTERfor run in paragraph_1.runs:# 以下为添加正文内容run.font.size = Pt(17) #设置为 17 号字体大小paragraph_3 = doc.add_paragraph()paragraph_3.add_run(" 本人")paragraph_3.add_run(name).underline = Trueparagraph_3.add_run(",所在部门")paragraph_3.add_run(department).underline = Trueparagraph_3.add_run(",由于")paragraph_3.add_run(reason).underline = Trueparagraph_3.add_run(",需请假")paragraph_3.add_run(str(days)).underline = Trueparagraph_3.add_run("天。")# 设置下划线paragraph_3.paragraph_format.line_spacing = 1.5paragraph_4 = doc.add_paragraph()paragraph_4.add_run('申请人:')paragraph_4.add_run(name).underline = Trueparagraph_4.alignment = WD_PARAGRAPH_ALIGNMENT.RIGHT# 添加请假日期sign_date = "{}年{}月{}日".format(date.split('-')[0], date.split('-')[1], date.split('-')[2])paragraph_5 = doc.add_paragraph()paragraph_5.add_run('日期:')paragraph_5.add_run(sign_date).underline = Trueparagraph_5.alignment = WD_PARAGRAPH_ALIGNMENT.RIGHT# 遍历在word中留下的空位置,根据对应位置,将请假人的信息添加进其中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.rFontsr.set(qn('w:eastAsia'), '楷体')doc.save(path + "\{}-请假条.docx".format(name))# 保存请假条,保存名称为 请假人+请假条.docxprint("{}的请假条打印完成!".format(name))if __name__ == '__main__':workbook = load_workbook(r'请假条.xlsx')sheet = workbook.activepath = ".\\请假条" # 请假条最后会全部添加至请假条文件夹中n = 0# 遍历excel中一条条的请假信息for row in sheet.rows:if n:# 逐步获取值name = row[0].valuedepartment = row[1].valuereason = row[2].valuedays = row[3].valuedate = str(row[4].value).split()[0]# 将获取到的值在此处传入request_for_leave函数,准备生成请假条request_for_leave(name, department, reason, days, date)n += 1

运行效果

可以看到已经生成了所有人的请假条,如果你想添加更多的内容进去,也可以参考我的进行一些相应的修改

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。