Knowledgebase

Tabele în Python | Aspose

În acest articol vom lucra cu tabele în Python, vă vom arăta cea mai simplă modalitate de a crea un tabel și de a manipula datele din interiorul acestuia. Folosind API‑ul nostru, puteți manipula tabele și le puteți exporta în diferite formate, cum ar fi Word, Excel, PDF etc.
Vom prezenta Aspose.Words for Python via .NET și ne vom concentra pe crearea și inserarea tabelelor utilizând acest API.

Tabele în Python

Aspose.Words for Python via .NET este o bibliotecă de clase concepută pentru a citi și manipula documente de diferite tipuri, cum ar fi Microsoft Word (DOCX, DOC, ODT), Web (Markdown, HTML), PDF și altele. Cu acest API Python, puteți crea, edita, reda și converti fișiere Word în multiple formate, genera rapoarte și vizualiza datele fără a necesita software extern.
Mai mult de 100 de clase Python pentru gestionarea procesării documentelor și a operațiunilor de formatare a datelor sunt la dispoziția dumneavoastră.

Lucrul cu tabele în Python

Tabelele permit organizarea unor cantități mari de informații și afișarea lor într-o structură asemănătoare unei grile, cu rânduri și coloane. Sunt foarte utile la afișarea datelor tabulate, deoarece oferă un control mult mai bun asupra designului conținutului.
Tabelele sunt seturi structurate de date compuse din rânduri și coloane. Sunt complet suportate în biblioteca noastră și puteți edita, modifica, adăuga și elimina tabele cu ușurință.
Mai jos vă vom arăta cum să creați un tabel nou utilizând Python, iar în documentația noastră puteți vedea cum să aplicați formatarea , lucrați cu TableStyle , lucrați cu coloane și rânduri , și îmbinați și separați tabelele .

Crearea tabelelor în Python

Biblioteca noastră oferă diferite metode pentru crearea de tabele noi într-un document, iar în acest articol vom vedea cum să utilizăm unele dintre aceste metode.
Tabelul creat recent are valori similare cu valorile implicite ale Microsoft Word.

Proprietatea tabelului în Python

Puteți insera un tabel utilizând DocumentBuilder class , și metoda următoare pentru a construi tabelul:
DocumentBuilder.start_table
DocumentBuilder.insert_cell
DocumentBuilder.end_row
DocumentBuilder.end_table
DocumentBuilder.writeln

Metode de construire a tabelului în Python

Creați un tabel în Python utilizând acești 7 pași:

  1. Porniți tabelul cu DocumentBuilder.start_table.
  2. Utilizați DocumentBuilder.insert_cell pentru a insera o celulă în tabel și folosiți DocumentBuilder.cell_format pentru a specifica formatarea celulei.
  3. Folosiți DocumentBuilder pentru a insera conținutul celulei.
  4. Repetați pașii 2 și 3 până completați rândul.
  5. Puteți apela metoda DocumentBuilder.end_row pentru a încheia rândul și utiliza DocumentBuilder.row_format pentru formatarea rândului.
  6. După aceea, repetați pașii 2 până la 5 până completați tabelul.
  7. Utilizați metoda DocumentBuilder.end_table pentru a finaliza tabelul.

Mai multe detalii despre clasa DocumentBuilder și metodele pentru crearea de tabele sunt descrise în documentația .

În exemplul de mai jos puteți vedea cum să creați un tabel simplu cu formatare implicită utilizând 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")

Creați un tabel formatat utilizând DocumentBuilder cu exemplul de cod de mai jos.

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

Inserarea unui tabel existent

Dacă aveți deja un tabel în document și doriți să adăugați o copie a acestui tabel pentru a face unele modificări, cea mai simplă metodă de a duplica un tabel este utilizarea metodei Table.clone pentru a păstra toate formatele.
În exemplul de mai jos, puteți vedea cum să inserați un tabel, iar dacă aveți nevoie de fișierul șablon al acestui exemplu, îl puteți descărca de la aici .

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

Dacă aveți întrebări despre tabele, produse Aspose.Words for Python via .NET și aveți nevoie de ajutor din partea dezvoltatorilor de Suport Plătit pentru a implementa API‑ul nostru în proiectul dumneavoastră, nu ezitați să contactați-ne .