Knowledgebase

Tabellen in Python | Aspose

In dit artikel werken we met tabellen in Python, we laten je de gemakkelijkste manier zien om een tabel te maken en de gegevens in de tabel te manipuleren. Met onze API kun je tabellen manipuleren en exporteren naar verschillende formaten, zoals Word, Excel, PDF, enz. We introduceren Aspose.Words for Python via .NET, en richten ons op het maken en invoegen van tabellen met deze API.

Tabellen in Python

Aspose.Words for Python via .NET is een class library ontworpen om documenten van talrijke typen te lezen en te manipuleren, zoals Microsoft Word (DOCX, DOC, ODT), Web (Markdown, HTML), PDF en anderen. Met deze Python‑API kun je Word‑bestanden maken, bewerken, renderen en converteren naar meerdere formaten, rapporten genereren en je gegevens visualiseren zonder externe software.
Meer dan 100 Python‑klassen voor het verwerken van documenten en gegevensopmaakoperaties staan tot je beschikking.

Werken met tabellen in Python

Tabellen stellen je in staat grote hoeveelheden informatie te organiseren en weer te geven in een rasterachtige structuur met rijen en kolommen. Ze zijn zeer nuttig bij het weergeven van tabulaire gegevens omdat ze veel betere controle over het ontwerp van de inhoud bieden. Tabellen zijn gestructureerde verzamelingen gegevens bestaande uit rijen en kolommen. Ze worden volledig ondersteund in onze bibliotheek, en je kunt eenvoudig tabellen bewerken, wijzigen, toevoegen en verwijderen. Hieronder laten we zien hoe je een nieuwe tabel maakt met Python, en in onze documentatie kun je zien hoe je opmaak toepast , werkt met TableStyle , werkt met kolommen en rijen , en tabellen samenvoegt en splitsen .

Tabellen maken in Python

Onze bibliotheek biedt verschillende methoden om nieuwe tabellen binnen een document te maken, en in dit artikel laten we zien hoe je enkele van deze methoden kunt gebruiken.
De nieuw aangemaakte tabel heeft waarden die vergelijkbaar zijn met de standaardwaarden van Microsoft Word.

Tabel eigenschap Python

Je kunt een tabel invoegen met de DocumentBuilder‑klasse en de volgende methode om de tabel te bouwen:
DocumentBuilder.start_table
DocumentBuilder.insert_cell
DocumentBuilder.end_row
DocumentBuilder.end_table
DocumentBuilder.writeln

Tabel bouwmethoden Python

Maak een tabel in Python met deze 7 stappen:

  1. Start de tabel met DocumentBuilder.start_table.
  2. Gebruik DocumentBuilder.insert_cell om een cel in de tabel in te voegen, en gebruik DocumentBuilder.cell_format om de celopmaak te specificeren.
  3. Gebruik DocumentBuilder om de inhoud van de cel in te voegen.
  4. Herhaal stap 2 en 3 totdat je de rij hebt voltooid.
  5. Je kunt de DocumentBuilder.end_row‑methode aanroepen om de rij te beëindigen en DocumentBuilder.row_format gebruiken voor rijopmaak.
  6. Daarna herhaal je stap 2 tot en met 5 totdat je de tabel hebt voltooid.
  7. Gebruik de DocumentBuilder.end_table‑methode om de tabel af te ronden.

Meer details over de DocumentBuilder‑klasse en methoden voor het maken van tabellen staan beschreven in onze documentatie .

In het onderstaande voorbeeld kun je zien hoe je een eenvoudige tabel maakt met standaardopmaak met behulp van DocumentBuilder.

# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
    
# Start building the table.
builder.start_table()
builder.insert_cell()
builder.write("Row 1, Cell 1 Content.")
    
# Build the second cell.
builder.insert_cell()
builder.write("Row 1, Cell 2 Content.")
    
# Call the following method to end the row and start a new row.
builder.end_row()

# Build the first cell of the second row.
builder.insert_cell()
builder.write("Row 2, Cell 1 Content")

# Build the second cell.
builder.insert_cell()
builder.write("Row 2, Cell 2 Content.")
builder.end_row()

# Signal that we have finished building the table.
builder.end_table()

doc.save(docs_base.artifacts_dir + "WorkingWithTables.create_simple_table.docx")

Maak een opgemaakte tabel met DocumentBuilder met het onderstaande codevoorbeeld.

# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET
doc = aw.Document()
builder = aw.DocumentBuilder(doc)

table = builder.start_table()
builder.insert_cell()

# Table wide formatting must be applied after at least one row is present in the table.
table.left_indent = 20.0

# Set height and define the height rule for the header row.
builder.row_format.height = 40.0
builder.row_format.height_rule = aw.HeightRule.AT_LEAST

builder.cell_format.shading.background_pattern_color = drawing.Color.from_argb(198, 217, 241)
builder.paragraph_format.alignment = aw.ParagraphAlignment.CENTER
builder.font.size = 16
builder.font.name = "Arial"
builder.font.bold = True

builder.cell_format.width = 100.0
builder.write("Header Row,\n Cell 1")

# We don't need to specify this cell's width because it's inherited from the previous cell.
builder.insert_cell()
builder.write("Header Row,\n Cell 2")

builder.insert_cell()
builder.cell_format.width = 200.0
builder.write("Header Row,\n Cell 3")
builder.end_row()

builder.cell_format.shading.background_pattern_color = drawing.Color.white
builder.cell_format.width = 100.0
builder.cell_format.vertical_alignment = aw.tables.CellVerticalAlignment.CENTER

# Reset height and define a different height rule for table body.
builder.row_format.height = 30.0
builder.row_format.height_rule = aw.HeightRule.AUTO
builder.insert_cell()
    
# Reset font formatting.
builder.font.size = 12
builder.font.bold = False

builder.write("Row 1, Cell 1 Content")
builder.insert_cell()
builder.write("Row 1, Cell 2 Content")

builder.insert_cell()
builder.cell_format.width = 200.0
builder.write("Row 1, Cell 3 Content")
builder.end_row()

builder.insert_cell()
builder.cell_format.width = 100.0
builder.write("Row 2, Cell 1 Content")

builder.insert_cell()
builder.write("Row 2, Cell 2 Content")

builder.insert_cell()
builder.cell_format.width = 200.0
builder.write("Row 2, Cell 3 Content.")
builder.end_row()
builder.end_table()

doc.save(docs_base.artifacts_dir + "WorkingWithTables.formatted_table.docx")

Een bestaande tabel invoegen

Als je al een tabel in je document hebt en een kopie van deze tabel wilt toevoegen om er wijzigingen in aan te brengen, is de eenvoudigste manier om een tabel te dupliceren het gebruik van de Table.clone‑methode om alle opmaak te behouden.
In het onderstaande voorbeeld kun je zien hoe je een tabel invoegt, en als je het sjabloonbestand van dit voorbeeld nodig hebt, kun je het downloaden van hier .

# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET
doc = aw.Document(docs_base.my_dir + "Tables.docx")

table = doc.get_child(aw.NodeType.TABLE, 0, True).as_table()

# Clone the table and insert it into the document after the original.
tableClone = table.clone(True).as_table()
table.parent_node.insert_after(tableClone, table)

# Insert an empty paragraph between the two tables,
# or else they will be combined into one upon saving this has to do with document validation.
table.parent_node.insert_after(aw.Paragraph(doc), table)
    
doc.save(docs_base.artifacts_dir + "WorkingWithTables.clone_complete_table.docx")

Als je vragen hebt over tabellen, Aspose.Words for Python via .NET‑producten en hulp nodig hebt van onze Paid Support‑ontwikkelaars om onze API in je project te implementeren, neem dan gerust contact op .