Knowledgebase

Tabeller i Python | Aspose

I denne artikel vil vi arbejde med tabeller i Python, vi vil vise dig den nemmeste måde at oprette en tabel på og manipulere dataene i tabellen. Ved hjælp af vores API kan du manipulere tabeller og eksportere dem til forskellige formater, såsom Word, Excel, PDF osv.
Vi introducerer Aspose.Words for Python via .NET og fokuserer på at oprette og indsætte tabeller ved hjælp af dette API.

Tabeller i Python

Aspose.Words for Python via .NET er et klassbibliotek designet til at læse og manipulere dokumenter af mange typer såsom Microsoft Word (DOCX, DOC, ODT), Web (Markdown, HTML), PDF og andre. Med dette Python‑API kan du oprette, redigere, gengive og konvertere Word‑filer til flere formater, generere rapporter og visualisere dine data uden behov for ekstern software.
Mere end 100 Python‑klasser til håndtering af dokumentbehandling og dataformateringsoperationer er til din rådighed.

Arbejde med tabeller i Python

Tabeller gør det muligt at organisere store mængder information og vise den i en gitterlignende struktur med rækker og kolonner. De er meget nyttige, når man viser fanebladede data, da de giver langt bedre kontrol over indholdets design.
Tabeller er strukturerede datasæt bestående af rækker og kolonner. De understøttes fuldt ud i vores bibliotek, og du kan nemt redigere, ændre, tilføje og fjerne tabeller.
Nedenfor viser vi dig, hvordan du opretter en ny tabel ved hjælp af Python, og i vores dokumentation kan du se, hvordan du anvender formatering , arbejder med TableStyle , arbejder med kolonner og rækker , og sammenføjer og opdeler tabeller .

Oprettelse af tabeller i Python

Vores bibliotek tilbyder forskellige metoder til at oprette nye tabeller i et dokument, og i denne artikel vil vi se, hvordan nogle af disse metoder kan bruges.
Den nyoprettede tabel har værdier, der svarer til standardværdierne i Microsoft Word.

Tabel egenskab Python

Du kan indsætte en tabel ved hjælp af DocumentBuilder‑klassen og følgende metode til at bygge tabellen:
DocumentBuilder.start_table
DocumentBuilder.insert_cell
DocumentBuilder.end_row
DocumentBuilder.end_table
DocumentBuilder.writeln

Metoder til at bygge tabel Python

Opret en tabel i Python ved hjælp af disse 7 trin:

  1. Start tabellen med DocumentBuilder.start_table.
  2. Brug DocumentBuilder.insert_cell til at indsætte en celle i tabellen, og brug DocumentBuilder.cell_format til at angive celleformatering.
  3. Brug DocumentBuilder til at indsætte celleindhold.
  4. Gentag blot trin 2 og 3, indtil du har fuldført rækken.
  5. Du kan kalde DocumentBuilder.end_row‑metoden for at afslutte rækken og bruge DocumentBuilder.row_format til at formatere rækken.
  6. Derefter gentager du blot trin 2 til 5, indtil du har fuldført tabellen.
  7. Brug DocumentBuilder.end_table‑metoden for at afslutte tabellen.

Flere detaljer om DocumentBuilder‑klassen og metoder til tabeloprettelse er beskrevet i vores dokumentation .

I eksemplet nedenfor kan du se, hvordan du opretter en simpel tabel med standardformatering ved hjælp af 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")

Opret en formateret tabel ved hjælp af DocumentBuilder med kodeeksemplet vist nedenfor.

# 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")

Indsættelse af en eksisterende tabel

Hvis du allerede har en tabel i dit dokument og ønsker at tilføje en kopi af denne tabel for at foretage ændringer, er den nemmeste måde at duplikere en tabel på ved at bruge Table.clone ‑metoden, så al formatering bevares.
I eksemplet nedenfor kan du se, hvordan du indsætter en tabel, og hvis du har brug for skabelonfilen til dette eksempel, kan du downloade den fra her .

# 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")

Hvis du har spørgsmål om tabeller, Aspose.Words for Python via .NET‑produkter og har brug for hjælp fra vores Betalt Support‑udviklere til at implementere vores API i dit projekt, er du velkommen til at kontakt os .