美文网首页Python很有料
Python3操作Office之Word模板技术

Python3操作Office之Word模板技术

作者: 老陈说初中数学 | 来源:发表于2019-05-20 20:33 被阅读0次

    在平时工作当中,经常会遇到大部分文字固定不变,小部分内容修改的相关文档。如放假通知、工作日志、工作周报、合同等。

    以往都要打开,修改,保存,犹如机械一般的操作,如内容少还可勉强接受,倘若内容多时,反复浏览,未免有些头晕目眩。

    不过,现在好了,有很多工具可以实现:无需打开文档,只需在软件界面,输入要变更的内容便可,这就要用到所谓的模板技术了。

    1

    在Python编程语言当中,操作Word模板,需要用到python-docx-template开发包。废话不多说,打开命令行窗口,输入:pip install docxtpl命令,下载开发包。

    2

    有了开发包,咱就可以做下模板内容修改的试验了。首先创建一个模板文件:leave_temp.docx并把:“{% who %}的请假申请单“这个内容拷贝到Word文档里。 接下来,咱就编写代码测试一下。

    from docxtpl import DocxTemplate

    tpl = DocxTemplate('leave_temp.docx')

    # 需要替换内容以key:value的方式进行更换

    context = {

       'who': '程旭阳'

    }

    tpl.render(context)

    tpl.save('leave.docx')

    3

    除了基本的内容替换之外,python-docx-template开发包还可对指定的内容特色处理,如更改文本的字体和颜色,如给表格单元格加背景色或合并单元格,还有就是图片内容的替换,再者就是可以把另一个Word文档里面提取出来并插入到本文档当中。

    核心的功能大概就这么多了。咱再试下文本颜色和表格单元格背景的调整。在编写代码之前,我提供一个模板(leave_temp.docx)供你参考,拿走不谢。

    4

    自从有了模板,腰不痛,手也不酸了,编写代码也有了依据,妥妥的。来了,上代码。

    from docxtpl import DocxTemplate, RichText

    tpl = DocxTemplate('leave_temp.docx')

    # 需要替换内容以key:value的方式进行更换

    context = {

        'year': '2019', 'month': '3', 'day': '8',

        'name': '程旭阳', 'department': '研发部',

        'reason': '女朋友说我好久没陪她了,再不陪伴,她就要跟我说拜拜了。为爱走天涯,特请假4天!',

        'date': '2019-3-9至2019-3-12',

        'num': RichText('4天', color='000000', bold=True), 'bg': 'FF0000'

    }

    tpl.render(context)

    tpl.save('leave.docx')

    相关文章

      网友评论

        本文标题:Python3操作Office之Word模板技术

        本文链接:https://www.haomeiwen.com/subject/zjvlzqtx.html