使用docxtpl生成多列表
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用docxtpl生成多列表相关的知识,希望对你有一定的参考价值。
我需要使用一系列数据(在二维列表'CombinedTable'中)来填充MS Word模板中的表。该表有7列,因此我尝试使用docxtpl模块进行以下操作:
context = {
'tpl_modules1': CombinedTable[0]
'tpl_modules2': CombinedTable[2]
'tpl_modules3': CombinedTable[4]
'tpl_modules4': CombinedTable[6]
'tpl_modules5': CombinedTable[8]
'tpl_modules6': CombinedTable[10]
'tpl_modules7': CombinedTable[12]
}
tpl.render(context)
tpl.save(FilePath + FileName)
不幸的是,这不是我所能找到的最优雅的解决方案,但是不幸的是将代码与以下模板一起使用会导致tpl_modules7数据写入所有列,而不仅仅是第7列。]
<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9rYUFBMC5wbmcifQ==” alt =“单词模板的图像”>
有人对如何解决这个问题有意见吗?我试图在列和行之间创建一个for循环,但未成功将任何内容写入doc(另存为空白和空文档)。
CombinedTable变量是12个列表的列表(模板中的每一列一个,尽管只有7个包含数据)。这12个列表中的每个列表都包含另一个带有单元格数据的列表,该单元格数据的长度等于要写入该列中表的行数。这意味着每一列写入的行数各不相同。
编辑:更仔细地查看docs,它指出我不能在同一行中多次使用%tr
。我想我将不得不使用一个遍历%tc
和%tr
的循环(我尝试过并且无法正常工作)。关于如何实施此建议?特别是在单词文档的一侧。谢谢!
我需要使用一系列数据(在二维列表'CombinedTable'中)来填充MS Word模板中的表。该表有7列,因此我尝试使用docxtpl模块进行以下操作:...
我能够满足我的要求,但是我的解决方案可能并不适合所有情况。我只是在一个文档中设置了7个不同的表格,该表格具有7列,并调整了边距/边界以适应表格所需的尺寸。在我的问题中,这7个表中的每个表都具有与image相同的docxtpl语法,它们之间的小缓冲区列被word文档中的列替换。
以上是关于使用docxtpl生成多列表的主要内容,如果未能解决你的问题,请参考以下文章