在平时工作当中,经常会遇到大部分文字固定不变,小部分内容修改的相关文档。如放假通知、工作日志、工作周报、合同等。
以往都要打开,修改,保存,犹如机械一般的操作,如内容少还可勉强接受,倘若内容多时,反复浏览,未免有些头晕目眩。
不过,现在好了,有很多工具可以实现:无需打开文档,只需在软件界面,输入要变更的内容便可,这就要用到所谓的模板技术了。
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')
网友评论