docxtpl快速上手使用,数据填入以及循环写入表格

docxtpl的使用

最近在进行word文档模版填入时用到了docxtpl,在这里将用到的内容更新记录一下。

简介:

docxtpl是基于python-docx和jinja2开发出来的库。他通过对docx文档模版加载,使用类似jinja2网页模版开发的语法对其进行修改。

docxtype官方文档:https://docxtpl.readthedocs.io/en/latest/

文章目录

          • 简介:
        • 快速上手:
          • 用pip安装
          • 使用示例1.变量写入
            • 1.编写代码
            • 2.在word模版中要写入变量的位置好{{key}}
            • 3.最终效果
          • 使用示例2.表格循环填入
            • 步骤1.编写代码
            • 步骤2.在word模版文件中编写模版语句
            • 步骤3.运行后的最终效果

示例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 datetimefrom 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.运行后的最终效果

在这里插入图片描述


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部