Knowledgebase

Tabeller i Python | Aspose

I denne artikkelen vil vi jobbe med tabeller i Python, vi viser deg den enkleste måten å opprette en tabell og manipulere dataene i tabellen. Ved å bruke vårt API kan du manipulere tabeller og eksportere dem til ulike formater, som Word, Excel, PDF osv.
Vi introduserer Aspose.Words for Python via .NET, og fokuserer på å opprette og sette inn tabeller ved hjelp av dette API-et.

Tabeller i Python

Aspose.Words for Python via .NET er et klassbibliotek designet for å lese og manipulere dokumenter av mange typer som Microsoft Word (DOCX, DOC, ODT), Web (Markdown, HTML), PDF og andre. Med dette Python‑API‑et kan du opprette, redigere, gjengi og konvertere Word‑filer til flere formater, generere rapporter og visualisere dataene dine uten behov for ekstern programvare. Mer enn 100 Python‑klasser for håndtering av dokumentbehandling og dataformatering er tilgjengelige.

Arbeide med tabeller i Python

Tabeller gjør det mulig å organisere store mengder informasjon og vise den i et rutenett med rader og kolonner. De er svært nyttige når du viser tabulær data, da de gir mye bedre kontroll over innholdets design. Tabeller er strukturerte datasett bestående av rader og kolonner. De støttes fullt ut i vårt bibliotek, og du kan enkelt redigere, endre, legge til og fjerne tabeller.
Nedenfor viser vi hvordan du oppretter en ny tabell med Python, og i vår dokumentasjon kan du se hvordan du bruker formatering , arbeider med TableStyle , arbeider med kolonner og rader , og slår sammen og deler tabeller .

Opprette tabeller i Python

Vårt bibliotek tilbyr ulike metoder for å opprette nye tabeller i et dokument, og i denne artikkelen ser vi hvordan du bruker noen av disse metodene. Den nyopprettede tabellen har verdier som ligner på standardverdiene i Microsoft Word.

Tabell egenskap Python

Du kan sette inn en tabell ved hjelp av DocumentBuilder class , og følgende metode for å bygge tabellen:
DocumentBuilder.start_table
DocumentBuilder.insert_cell
DocumentBuilder.end_row
DocumentBuilder.end_table
DocumentBuilder.writeln

Bygg tabellmetoder Python

Opprett en tabell i Python ved å bruke disse 7 trinnene:

  1. Start tabellen med DocumentBuilder.start_table.
  2. Bruk DocumentBuilder.insert_cell for å sette inn en celle i tabellen, og bruk DocumentBuilder.cell_format for å spesifisere celleformatering.
  3. Bruk DocumentBuilder til å sette inn celleinnhold.
  4. Gjenta trinn 2 og 3 til du har fullført raden.
  5. Du kan kalle DocumentBuilder.end_row‑metoden for å avslutte raden og bruke DocumentBuilder.row_format for radformatering.
  6. Deretter gjentar du trinn 2 til 5 til du har fullført tabellen.
  7. Bruk DocumentBuilder.end_table‑metoden for å fullføre tabellen.

Flere detaljer om DocumentBuilder‑klassen og metoder for tabelloppretting er beskrevet i vår dokumentasjon .

I eksemplet nedenfor kan du se hvordan du oppretter en enkel tabell med standardformatering ved hjelp 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")

Opprett en formatert tabell ved hjelp av 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")

Sette inn en eksisterende tabell

Hvis du allerede har en tabell i dokumentet og vil legge til en kopi av denne tabellen for å gjøre noen endringer, er den enkleste måten å duplisere en tabell på å bruke Table.clone ‑metoden for å beholde all formatering. I eksemplet nedenfor kan du se hvordan du setter inn en tabell, og hvis du trenger malfilen for dette eksemplet, kan du laste den ned 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ørsmål om tabeller, Aspose.Words for Python via .NET‑produkter og trenger hjelp fra våre Betalte supportutviklere for å implementere API‑et i prosjektet ditt, er du velkommen til å kontakte oss .