Bottom Page

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
 Span columns with docxTemplate python
I'm having trouble trying to fill in a table row by row using DocxTemplate. I'm only confused on how the template should look like.

This is my python code:

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

I want the final result to be in a table like this:

| start | end |
|  A    | C   |
|  B    | C   |
|  F    | L   |
|  B    | R   |
Would anyone be willing to show me how I can accomplish this? I saw this example: but I wasn't able to wrap my head around what I'm trying to do. Thanks in advance!
I think you want to use python-docx
(not python-docx-template), see here:

There is a sample which create tables.
from docx import Document
from docx.shared import Inches

document = Document()

records = (
    ('A', 'C'),
    ('B', 'C'),

table = document.add_table(rows=1, cols=2)
hdr_cells = table.rows[0].cells
hdr_cells[0].text = 'start'
hdr_cells[1].text = 'end'

for c0, c1 in records:
    row_cells = table.add_row().cells
    row_cells[0].text = c0
    row_cells[1].text = c1'demo.docx')
The problem with this is it manually adds its own table into a new docx file. Is there a way to do this except have it insert into a table that already exists in a docx file.
Ok, then you need python-docx-template.

As I understand python-docx-template,
you have to made first a template yourself
with a table already.
And then you can change or add data to the table with python.

Top Page

Possibly Related Threads...
Thread Author Replies Views Last Post
  Here what is the meaning of span=(1,2) ,match='1'? srisrinu 1 125 Apr-27-2020, 10:22 AM
Last Post: anbu23
  iterating a span of a list Skaperen 5 445 Dec-29-2019, 08:15 PM
Last Post: Skaperen

Forum Jump:

Users browsing this thread: 1 Guest(s)