Knowledgebase

Таблици в Python | Aspose

В тази статия ще работим с таблици в Python, ще ви покажем най-лесния начин за създаване на таблица и манипулиране на данните в нея. С нашето API можете да манипулирате таблици и да ги експортирате в различни формати, като Word, Excel, PDF и др.
Ще представим Aspose.Words for Python via .NET и ще се фокусираме върху създаването и вмъкването на таблици с помощта на това API.

Таблици в Python

Aspose.Words for Python via .NET е библиотека за класове, предназначена за четене и манипулиране на документи от множество типове като Microsoft Word (DOCX, DOC, ODT), уеб (Markdown, HTML), PDF и други. С тази Python API можете да създавате, редактирате, рендерирате и конвертирате Word файлове в различни формати, да генерирате отчети и да визуализирате данните си без нужда от външен софтуер.
На разположение ви са повече от 100 Python класа за обработка на документи и операции по форматиране на данни.

Работа с таблици в Python

Таблиците позволяват организиране на големи количества информация и показването й в мрежовидна структура с редове и колони. Те са много полезни при представяне на табулирани данни, тъй като осигуряват по-добър контрол върху дизайна на съдържанието.
Таблиците са структуриран набор от данни, съставен от редове и колони. Те са напълно поддържани в нашата библиотека и можете лесно да редактирате, променяте, добавяте и премахвате таблици.
По-долу ще ви покажем как да създадете нова таблица с Python и в нашата документация можете да видите как да прилагате форматиране , работите със TableStyle , работите с колони и редове , и обединявате и разделяте таблици .

Създаване на таблици в Python

Нашата библиотека предлага различни методи за създаване на нови таблици в документ и в тази статия ще разгледаме някои от тях.
Новосъздадената таблица има стойности, сходни с подразбиращите се стойности в Microsoft Word.

Свойства на таблица в Python

Можете да вмъкнете таблица, използвайки класа DocumentBuilder , и следния метод за изграждане на таблицата:
DocumentBuilder.start_table
DocumentBuilder.insert_cell
DocumentBuilder.end_row
DocumentBuilder.end_table
DocumentBuilder.writeln

Методи за създаване на таблица в Python

Създайте таблица в Python, следвайки тези 7 стъпки:

  1. Започнете таблицата с DocumentBuilder.start_table.
  2. Използвайте DocumentBuilder.insert_cell, за да вмъкнете клетка в таблицата, и DocumentBuilder.cell_format, за да зададете форматиране на клетката.
  3. С помощта на DocumentBuilder вмъкнете съдържанието на клетката.
  4. Повтаряйте стъпки 2 и 3, докато завършите реда.
  5. Можете да извикате метода DocumentBuilder.end_row, за да завършите реда, и да използвате DocumentBuilder.row_format за форматиране на реда.
  6. След това повтаряйте стъпки 2‑5, докато завършите цялата таблица.
  7. Използвайте DocumentBuilder.end_table, за да приключите таблицата.

Повече подробности за класа DocumentBuilder и методите за създаване на таблици са описани в нашата документация .

В примера по-долу можете да видите как да създадете проста таблица с подразбиращо се форматиране, използвайки 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")

Създайте форматирана таблица, използвайки 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)

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

Вмъкване на съществуваща таблица

Ако вече имате таблица в документа и искате да добавите копие от нея, за да направите промени, най‑лесният начин за дублиране е чрез метода Table.clone , който запазва цялото форматиране.
В примера по-долу можете да видите как се вмъква таблица, а ако ви е нужен шаблонният файл за този пример, можете да го изтеглите от тук .

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

Ако имате въпроси относно таблици, продукти Aspose.Words for Python via .NET и се нуждаете от помощ от нашите разработчици от Paid Support , за да внедрите нашето API във вашия проект, не се колебайте да се свържете с нас .