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 | | | |

相关推荐
周杰伦_Jay1 天前
【Spring Boot从入门到精通】原理、实战与最佳实践
java·spring boot·后端
呼哧呼哧.1 天前
SpringBoot 的入门开发
java·spring boot·后端
小云数据库服务专线1 天前
GaussDB 应用侧报Read timed out解决方法
linux·服务器·gaussdb
放弃幻想_1 天前
S4和ECC或者不通CLIENT,不通HANA服务器互相取数
服务器·数据库·sap·abap·abap sap
资源补给站1 天前
服务器高效操作指南:Python 环境退出与 Linux 终端快捷键全解析
linux·服务器·python
观望过往1 天前
【Java数据结构】队列详解与经典 OJ 题目实战
java·数据结构
Demoncode_y1 天前
前端布局入门:flex、grid 及其他常用布局
前端·css·布局·flex·grid
明天最后1 天前
使用 Service Worker 限制请求并发数
前端·service worker
java水泥工1 天前
基于Echarts+HTML5可视化数据大屏展示-电信厅店营业效能分析
前端·echarts·html5·大屏展示
天地人-神君1 天前
将.idea取消git托管
java·git·intellij-idea