I den här artikeln kommer vi att arbeta med tabeller i Python, vi visar dig det enklaste sättet att skapa en tabell och manipulera data i tabellen. Med vårt API kan du manipulera tabeller och exportera dem till olika format, såsom Word, Excel, PDF osv. Vi presenterar Aspose.Words for Python via .NET och fokuserar på att skapa och infoga tabeller med detta API.

Aspose.Words for Python via .NET är ett klassbibliotek utformat för att läsa och manipulera dokument av många typer, såsom Microsoft Word (DOCX, DOC, ODT), webb (Markdown, HTML), PDF och andra. Med detta Python‑API kan du skapa, redigera, rendera och konvertera Word‑filer till flera format, generera rapporter och visualisera dina data utan behov av extern programvara. Mer än 100 Python‑klasser för dokumentbehandling och dataformatering finns till ditt förfogande.
Arbeta med tabeller i Python
Tabeller möjliggör organisering av stora mängder information och visar den i ett rutnätsliknande strukturellt med rader och kolumner. De är mycket användbara när man visar flikad data eftersom de ger mycket bättre kontroll över innehållets design. Tabeller är strukturerade datasamlingar bestående av rader och kolumner. De stöds fullt ut i vårt bibliotek, och du kan enkelt redigera, ändra, lägga till och ta bort tabeller. Nedan visar vi hur du skapar en ny tabell med Python, och i vår dokumentation kan du se hur du tillämpa formatering
, arbeta med TableStyle
, arbeta med kolumner och rader
, samt sammanfoga och dela tabeller
.
Skapa tabeller i Python
Vårt bibliotek erbjuder olika metoder för att skapa nya tabeller i ett dokument, och i den här artikeln ser vi hur några av dessa metoder används. Den nyss skapade tabellen har värden som liknar standardvärdena i Microsoft Word.

Du kan infoga en tabell med DocumentBuilder‑klassen och följande metoder för att bygga tabellen:
• DocumentBuilder.start_table
• DocumentBuilder.insert_cell
• DocumentBuilder.end_row
• DocumentBuilder.end_table
• DocumentBuilder.writeln

Skapa en tabell i Python med dessa 7 steg:
- Starta tabellen med
DocumentBuilder.start_table.
- Använd
DocumentBuilder.insert_cell för att infoga en cell i tabellen och använd DocumentBuilder.cell_format för att ange cellformatering.
- Använd
DocumentBuilder för att infoga cellinnehåll.
- Upprepa bara steg 2 och 3 tills du har slutfört raden.
- Du kan anropa
DocumentBuilder.end_row‑metoden för att avsluta raden och använda DocumentBuilder.row_format för radformatering.
- Därefter upprepar du bara steg 2 till 5 tills du har slutfört tabellen.
- Använd
DocumentBuilder.end_table‑metoden för att avsluta tabellen.
Mer detaljer om DocumentBuilder‑klassen och metoderna för tabellskapande finns i vår dokumentation
.
I exemplet nedan kan du se hur du skapar en enkel tabell med standardformatering med hjälp av 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")
Skapa en formaterad tabell med DocumentBuilder med kodexemplet nedan.
# 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")
Infoga en befintlig tabell
Om du redan har en tabell i ditt dokument och vill lägga till en kopia av den för att göra ändringar, är det enklaste sättet att duplicera en tabell att använda metoden Table.clone
för att behålla all formatering. I exemplet nedan kan du se hur du infogar en tabell, och om du behöver mallfilen för detta exempel kan du ladda ner den från här
.
# 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")
Om du har frågor om tabeller, Aspose.Words for Python via .NET‑produkter och behöver hjälp av våra betalda supportutvecklare
för att implementera vårt API i ditt projekt, tveka inte att kontakta oss
.