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

相关推荐
鱼人15 小时前
HTML5 页面性能优化大全
前端
ping某15 小时前
专栏-null 和 undefined 到底是什么?
前端·javascript·后端
用户9004633704015 小时前
5MB vs 4KB vs 无限大:浏览器存储谁更强?
前端
小小小小宇16 小时前
Harness Engineering 全解析与应用
前端
用户1285261160216 小时前
我把祖传Java项目重构后,接口响应从3s砍到了200ms,只改了这几行代码
java
牧艺16 小时前
cos-design v3.0:从 15 个 Demo 到 49 个组件的视觉特效库
前端·视觉设计
lichenyang45316 小时前
ASCF 架构升级总览:WebRuntimePage 为什么要变薄
前端
道友可好16 小时前
从今天开始:你的第一个 Harness Engineering 实践
前端·人工智能·后端
Linsk17 小时前
组件 = 模板 + 业务逻辑
java·前端·vue.js
二月龙17 小时前
移动端 H5 页面开发:响应式适配 + 低版本兼容实战指南
前端