2017-03-24 2 views
0
table = document.add_table(rows=1, cols=1) 
hdr_cells = table.rows[0].cells 
hdr_cells[0].text = 'Qty' 

Ich muss die Schriftgröße des Textes 'Qty' in der Tabelle mit einer Zeile und einer Spalte ändern, wie kann ich es machen?Python-docx - Wie ändert man die Schriftgröße der Tabelle?

+0

Möglicherweise möchten Sie https://github.com/elapouya/python-docx-template prüfen, ob Sie planen eine Menge Styling zu tun. –

Antwort

3

Sie müssen den Absatz in der Zelle abrufen. Aus der Dokumentation von Python-docx:

3.5.2 _Cell Objekte:
Klasse docx.table._Cell (tc, Eltern)

Absätzen
Liste der Absätze in der Zelle. Eine Tabellenzelle wird benötigt, um mindestens ein Block-Level-Element zu enthalten und mit einem Absatz zu enden. Nach Standard enthält eine neue Zelle einen einzelnen Absatz. Read-only

Referenz: python-docx Documentation - Read the Docs

Der Code:

Zur Schriftgröße von Text 'Menge' ändern

paragraph =hdr_cells[0].paragraphs[0] 
run = paragraph.runs 
font = run[0].font 
font.size= Pt(30) # font size = 30 

Schriftgröße der gesamten Tabelle zu ändern:

for row in table.rows: 
    for cell in row.cells: 
     paragraphs = cell.paragraphs 
     for paragraph in paragraphs: 
      for run in paragraph.runs: 
       font = run.font 
       font.size= Pt(30) 

Referenz, wie in einer Tabelle für den Zugriff auf den Absätzen: Extracting data from tables

+0

Danke für die Lösung! – huba183

+0

Du hast meinen Tag gerettet! – user1931780

Verwandte Themen