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

相关推荐
合作小小程序员小小店8 分钟前
web网页开发,在线短视频管理系统,基于Idea,html,css,jQuery,java,springboot,mysql。
java·前端·spring boot·mysql·vue·intellij-idea
n***293215 分钟前
前端动画性能优化,减少重绘重排
前端·性能优化
mCell18 分钟前
React 如何处理高频的实时数据?
前端·javascript·react.js
Lsx_21 分钟前
一文读懂 Uniapp 小程序登录流程
前端·微信小程序·uni-app
吃饺子不吃馅21 分钟前
面试过别人后,我对面试祛魅了
前端·面试·github
论迹31 分钟前
【JavaEE】-- Spring Web MVC入门
前端·spring·java-ee
uhakadotcom31 分钟前
fastapi的最新版本,提供了哪些新api可供使用
前端·面试·github
培风图楠34 分钟前
Java个人学习笔记
java·笔记·学习
梅梅绵绵冰34 分钟前
SpringMVC的配置响应-页面跳转,回写数据
java
A***279535 分钟前
后端服务限流配置,Spring Cloud Gateway
java·运维·数据库