docxtpl的使用

docxtpl的介绍

docxtpl 包可以加载docx格式的模板,来生成新的docx文件,通常用于生成docx报告。
安装

pip install docxtpl

使用

from docxtpl import DocxTemplate

doc = DocxTemplate("my_word_template.docx")
context = { 'company_name' : "World company" }
doc.render(context)
doc.save("generated_doc.docx")

模板采用了jinja2语法,可参考http://docs.jinkan.org/docs/jinja2/templates.html

jinja2语法

{%p jinja2_tag %} for paragraphs #段落
{%tr jinja2_tag %} for table rows #表格行
{%tc jinja2_tag %} for table columns #表格列
{%r jinja2_tag %} for runs #用于富文本

注意:不能在同一行中使用两次{%p, {%tr, {%tc ,{%r标签

{%p if display_paragraph %}Here is my paragraph {%p endif %}

应该这样

{%p if display_paragraph %}
Here is my paragraph
{%p endif %}

split和merge

{%- 表示接上一行
-%} 表示接下一行

将标签写在一行

My house is located {% if living_in_town %} in urban area {% else %} in countryside {% endif %} and I love it.

也可以拆分成多行

My house is located
{%- if living_in_town -%}
 in urban area
{%- else -%}
 in countryside
{%- endif -%}
 and I love it.

显示变量

{{ <var> }}
{{r <var> }} 对于富文本
{% cellbg <var> %} #cell 颜色

参考资料

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值