У меня есть ряд данных (в двумерном списке «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 записываются во все столбцы, а не только в седьмой.
![Image of word template](https://i.stack.imgur.com/kaAA0.png)
У кого-нибудь есть советы, как решить эту проблему? Я попытался создать для l oop через столбцы и строки, но безуспешно записал что-либо в do c (был сохранен как пустой и пустой do c).
Переменная CombinedTable представляет собой список из 12 списков (по одному для каждого столбца в шаблоне, хотя только 7 содержат данные). Каждый из этих 12 списков содержит другой список с данными ячейки, длина которого равна числу строк, которые должны быть записаны в таблицу в этом столбце. Это означает, что число строк, в которые производится запись, варьируется для каждого столбца.
РЕДАКТИРОВАТЬ: Если присмотреться к документам , в нем говорится, что я не могу использовать %tr
несколько раз в тот же ряд Я предполагаю, что тогда мне придется использовать все с oop по %tc
и %tr
(которые я пробовал и не смог получить работу). Любой совет, как это реализовать? Особенно на стороне слова документа. Спасибо!