docxtpl配合Jinja2实现word中复杂表格实现

表格并且存在多行合并列的实现方式,代码和模版如下:

1、部分python代码

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 | | | |
| XX软件 | 数据中台1 | | | |
| XX软件 | 核心系统1 | | | |
| XX科技 | 数据中台2 | | | |
| XX科技 | 核心系统2 | | | |

相关推荐
yours_Gabriel4 分钟前
【java面试】微服务篇
java·微服务·中间件·面试·kafka·rabbitmq
crary,记忆1 小时前
Angular微前端架构:Module Federation + ngx-build-plus (Webpack)
前端·webpack·angular·angular.js
漂流瓶jz2 小时前
让数据"流动"起来!Node.js实现流式渲染/流式传输与背后的HTTP原理
前端·javascript·node.js
hashiqimiya2 小时前
android studio中修改java逻辑对应配置的xml文件
xml·java·android studio
achene_ql2 小时前
select、poll、epoll 与 Reactor 模式
linux·服务器·网络·c++
SamHou02 小时前
手把手 CSS 盒子模型——从零开始的奶奶级 Web 开发教程2
前端·css·web
我不吃饼干2 小时前
从 Vue3 源码中了解你所不知道的 never
前端·typescript
liuzhenghua662 小时前
Python任务调度模型
java·运维·python
黎相思2 小时前
应用层自定义协议与序列化
运维·服务器·网络
結城2 小时前
mybatisX的使用,简化springboot的开发,不用再写entity、mapper以及service了!
java·spring boot·后端