docxtpl的使用
最近在进行word文档模版填入时用到了docxtpl,在这里将用到的内容更新记录一下。
简介:
docxtpl是基于python-docx和jinja2开发出来的库。他通过对docx文档模版加载,使用类似jinja2网页模版开发的语法对其进行修改。
docxtype官方文档:https://docxtpl.readthedocs.io/en/latest/
文章目录
示例1:变量写入
示例2:循环生成表格内容
快速上手:
用pip安装
pip install docxtpl
使用示例1.变量写入
1.编写代码
from docxtpl import DocxTemplate
import datetime
# 载入模版文件
doc=DocxTemplate('./template.docx')
# 创建字典,key与模版文件中的模版变量一一对应,value为要写入到末班中{{key}}处的值.
dic={}
dic['company']='xxx公司'
now = datetime.datetime.now()
dic['year']=now.year
# 模版文件读取写入字典
doc.render(dic)
# 保存结果到新的docx文件
doc.save('result.docx')
2.在word模版中要写入变量的位置好{{key}}

3.最终效果

使用示例2.表格循环填入
步骤1.编写代码
import datetime
from docxtpl import DocxTemplate
# 载入模版文件
doc=DocxTemplate('./template.docx')
# 创建字典,key与模版文件中的模版变量一一对应,value为要写入到末班中{{key}}处的值.
list=[
{
'name':'苹果',
'value':2,
'unit':'kg'
},
{
'name':'牛奶',
'value':2000,
'unit':'ml'
},
{
'name': '电脑',
'value': 2,
'unit': '台'
}
]
dic={}
dic['list']=list
# 模版文件读取写入字典
doc.render(dic)
# 保存结果到新的docx文件
doc.save('result.docx')
步骤2.在word模版文件中编写模版语句

其中:
vm表示垂直合并
tr表示行
语法补充:
tc代表列
hm代表水平合并
步骤3.运行后的最终效果

本文档介绍了如何使用Python库docxtpl进行word文档模板填充。通过pip安装docxtpl后,可以利用变量写入和表格循环填入功能。在模板中,使用{{key}}表示变量位置,对于表格,可以结合vm、tr、tc和hm等语法实现复杂布局。
847





