使用docxTemplate python跨列

2024-04-18 17:49:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我无法使用DocxTemplate逐行填充表格。我只是对模板应该是什么样子感到困惑。你知道吗

这是我的python代码:

from docxtpl import Docxtemplate

doc = DocxTemplate("Template.docx")
context = {}
table_info = [{start: "A", end: "C"}, {start: "B", end: "C"}, {start:"F", end:"L"}, {start:"B", end:"R"}]
context["table_info"] = table_info

doc.render(context)
doc.save("Finish.docx")

我希望最终结果是这样的:

| start | end |
|  A    | C   |
|  B    | C   |
|  F    | L   |
|  B    | R   |

有人愿意告诉我怎样才能做到这一点吗?我看到了dynamic_table_tpl的例子,但是我无法理解我要做的事情。提前谢谢!你知道吗


Tags: 代码fromimportinfo模板doccontexttable
1条回答
网友
1楼 · 发布于 2024-04-18 17:49:36

根据您的需要调整https://github.com/elapouya/python-docx-template/blob/master/tests/dynamic_table.py中的代码测试:

from docxtpl import DocxTemplate

doc = DocxTemplate('Template.docx')

context = {
    'col_labels' : ['start', 'end'],
    'tbl_contents': [
        {'label': 'black', 'cols': ['A', 'C']},
        {'label': 'black', 'cols': ['B', 'C']},
        {'label': 'black', 'cols': ['F', 'L']},
        {'label': 'black', 'cols': ['B', 'R']},
        ]
}

doc.render(context)
doc.save('Finish.docx')

context的生成使用了错误的键名。你知道吗

相关问题 更多 >