使用docxtpl生成Word表格行时如何避免多余单元格/表格?
解决docxtpl生成Word表格后出现多余单元格/表格的问题
以下是具体的排查和解决步骤:
检查循环标记的位置
确保{% for lesson in lessons %}和{% endfor %}完全包含在同一表格行的单元格内,不能跨行放置,也不能放在表格的行结构之外。正确的做法是:在表格的动态数据行中,将循环起始标记放在该行第一个单元格的开头,循环结束标记放在该行最后一个单元格的结尾,中间对应填充{{ lesson.title }}和{{ lesson.objective }}变量。清理模板中的冗余内容
打开你的template2.docx模板,删除表格下方所有的空白段落、空行或未使用的空表格。很多时候多余的内容来自模板中隐藏的空白元素,生成时会被保留下来。只保留唯一的动态循环行
模板表格中,表头下方只保留一行用于循环生成数据的行,删除其他所有空行或多余的表格行。避免在循环行的上下留有额外的空白行,否则生成时会被复制或保留为空白单元格。清除单元格内的多余格式
选中动态循环行的所有单元格,清除段落格式(比如设置段落间距为0,删除多余的换行符)。有时候单元格内的隐藏换行或间距会导致生成后出现多余的空白单元格。
验证修改后,重新运行python3 gen.py,生成的文档就不会出现多余的单元格或表格了。
内容的提问来源于stack exchange,提问作者ServerBloke
相关产品推荐
相关产品推荐

