• 手把手教你用Python操纵Word自动编写离职报告


    在看办公自动化之前,我们来看一下百度百科给出的定义:

    办公自动化(Office Automation,简称OA)是将现代化办公计算机技术结合起来的一种新型的办公方式。

    办公自动化没有统一的定义,凡是在传统的办公室中采用各种新技术、新机器、新设备从事办公业务,都属于办公自动化的领域。

    通过实现办公自动化,或者说实现数字化办公,可以优化现有的管理组织结构,调整管理体制,在提高效率的基础上,增加协同办公能力,强化决策的一致性 。

    而我们Python进行办公自动化又需要学习什么样的知识呢?

    或许这是很多非 IT 职场人士面临的困惑,想把 python 用到工作中,却不知如何下手?python 在自动化办公领域越来越受欢迎,批量处理简直是加班族的福音。

    大家注意啊批量处理!!!,如果你只有几份文件那用不用Python也无所谓,但是如果量比较大Python进行办公自动化可就是各位的福音啦!

    其实所谓的自动化办公无非是 excel、ppt、word、邮件、文件处理、数据分析处理等。

    本篇文章主要给大家介绍word自动化的操作和案例。

    模块安装

    Windows用户打开命令行输入:pip install python-docx docx-mailmerge

    Mac用户打开终端/Terminal输入:pip3 install python-docx docx-mailmerge

    如果无法安装,可以转换为国内清华镜像源(当然其他的也没有问题了),Windows系统操作如下,在cmd模式下输入

    pip install python-docx docx-mailmerge -i https://pypi.tuna.tsinghua.edu.cn/simple

    导入模块:

    import docx

    from mailmerge import MailMerge

    案例说明

    近年由于疫情关系,部分公司压力山大,不得不裁员或者加班。这不又有10位员工离职了。而在人力那里不仅要办一些离职的交接工作,还需要给这些离职的员工开具离职证明!

    首先看一下离职证明的模版样式

    如果人力资源的妹妹们,一个一个的填写太麻烦了。这个也是相当费时间的。如果哦一不小心写错了还要重来。

    那如何快速的生成多份证明呢?这不办公自动化轻松帮人力朋友搞定。

    所有要离职的员工信息都在一个表格中,我们只需要将表格的数据填充到离职证明中即可。

    表格信息如下(展示部分数据):

      

    所需知识

    1. 会使用Pandas读取表格数据

    2. 能够获取表格中的每个单元格数据

    3. 安装了python-docx和docx-mailmerge

    4. 会设置word的邮件合并域

    5. 将word模版与excel进行结合

    6. 保存word文档

    案例实现

    模版域设

    现有离职证明模版,需要提前设置模版的域,操作方式如下(wps为例演示):

    1. 打开模版文件

    2. 选择插入 ----> 域

    3. 设置邮件合并域

    4. 注意表格头是于提供的excel的表头名称一致,此时就可以看到模版的姓名位置出现了<<姓名>>说明完成。后面按照此操作依次添加即可。

    最终结果如下:

    代码实现

    1. import time
    2. from mailmerge import MailMerge
    3. import pandas as pd
    4. # 获取excel的数据文件
    5. df=pd.read_excel('employee.xlsx')
    6. df['入职日期'= df['入职日期'].apply(lambda x: x.strftime('%Y年%m月%d日'))
    7. df['离职日期'= df['离职日期'].apply(lambda x: x.strftime('%Y年%m月%d日'))
    8. # 获取模版文件
    9. document_1 = MailMerge('离职证明.docx')
    10. # 遍历获取每行数据
    11. for i in range(df.shape[0]):
    12.   # 将获取的数据设置到模版的域中
    13.     document_1.merge(姓名=df.loc[i]['姓名'],性别=df.loc[i]['性别'], 身份证号码=str(df.loc[i]['身份证号码']), 入职日期=df.loc[i]['入职日期'],部门=df.loc[i]['部门'],职位=df.loc[i]['职位'],离职日期=df.loc[i]['离职日期'],时间=time.strftime('%Y年%m月%d日',))
    14.     name = df.loc[i]['姓名']
    15.     document_1.write(f'{name}离职证明.docx')

    -END-

    扫码添加请备注:python,进群与宋老师面对面交流:517745409

     

  • 相关阅读:
    第三章《数组与循环》第5节:do...while循环
    可视化学习:CSS transform与仿射变换
    2.2 PE结构:文件头详细解析
    【Unity3D】动画回调函数、动画事件、动画曲线
    正版软件|Soundop 专业音频编辑器,实现无缝的音频制作工作流程
    java计算机毕业设计国漫论坛网站源码+mysql数据库+系统+lw文档+部署
    Java转义字符,注释,代码规范
    Hive数据仓库工具基本架构和入门部署详解
    手机银行体验性测试:如何获取用户真实感受
    转转图书对基于Drools引擎的DMN实践
  • 原文地址:https://blog.csdn.net/qiqi1220/article/details/126529471