docxtpl配合Jinja2实现word中复杂表格实现
表格并且存在多行合并列的实现方式,代码和模版如下:
1、部分python代码
from docxtpl import DocxTemplate
"projects":[
{
"company":"XX软件",
"project" : [
{"projName":"手机银行1"},
{"projName":"数据中台1"},
{"projName":"核心系统1"}
]
},
{
"company":"XX科技",
"project" : [
{"projName":"数据中台2"},
{"projName":"核心系统2"}
]
}
]
doc.render(context)
doc.save("generated_test.docx")
2、部分模版代码
{%tr for p in projects%} | ||||
{%tr for proj in p.project%} | ||||
{%vm%}{{p.company}} | {{proj.projName}} | |||
{%tr endfor %} | ||||
{%tr endfor %} |
3、部分结果展示效果截图:
XX软件 | 手机银行1 | |||
数据中台1 | ||||
核心系统1 | ||||
XX科技 | 数据中台2 | |||
核心系统2 |