Python Forum
Span columns with docxTemplate python
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Span columns with docxTemplate python
#1
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

doc.render(context)
doc.save("Finish.docx")
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: https://github.com/elapouya/python-docx-...e_tpl.docx but I wasn't able to wrap my head around what I'm trying to do. Thanks in advance!
Reply
#2
I think you want to use python-docx
(not python-docx-template), see here:

https://python-docx.readthedocs.io/en/latest/

There is a sample which create tables.
Reply
#3
#!/usr/bin/python3
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

document.save('demo.docx')
Reply
#4
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.
Reply
#5
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.
Reply


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

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020