twórz tabele w dokumentach Word za pomocą Python

Tabele są powszechnie używane w dokumentach programu Word do organizowania informacji w strukturze przypominającej siatkę. Pozwalają podsumować informacje w postaci wierszy i kolumn. W tym artykule dowiesz się, jak programowo utworzyć tabelę w dokumentach Worda za pomocą Python. Ponadto w artykule omówiono tworzenie zagnieżdżonych tabel lub klonowanie istniejącej tabeli w dokumentach programu Word.

Biblioteka Python do tworzenia tabel w dokumentach Worda

Do pracy z tabelami w dokumentach Word użyjemy Aspose.Words for Python. Biblioteka jest przeznaczona do dynamicznego tworzenia dokumentów Worda i manipulowania nimi z poziomu aplikacji Python. Możesz zainstalować bibliotekę z PyPI za pomocą następującego polecenia pip.

pip install aspose-words

Utwórz tabelę w dokumencie programu Word w Python

Poniżej przedstawiono kroki tworzenia tabeli w dokumencie Word DOCX przy użyciu języka Python.

  • Utwórz obiekt klasy Document.
  • Utwórz obiekt klasy DocumentBuilder.
  • Uruchom tabelę za pomocą metody DocumentBuilder.starttable() i pobierz odwołanie do tabeli w obiekcie.
  • Wstaw komórkę za pomocą metody DocumentBuilder.insertcell().
  • Ustaw formatowanie komórki za pomocą właściwości DocumentBuilder.cellformat.
  • Ustaw automatyczne dopasowanie za pomocą metody autofit(aw.tables.AutoFitBehavior.FIXEDCOLUMNWIDTHS).
  • Ustaw wyrównanie komórki.
  • Wstaw tekst do komórki za pomocą metody DocumentBuilder.write().
  • W razie potrzeby powtórz wstawianie komórek i tekstu do komórek.
  • Zakończ wiersz po zakończeniu wstawiania komórek.
  • Zakończ tabelę po wstawieniu wszystkich wierszy.
  • Zapisz dokument programu Word za pomocą metody Document.save().

Poniższy przykładowy kod pokazuje, jak utworzyć tabelę w dokumentach DOCX przy użyciu języka Python.

import aspose.words as aw

# Utwórz nowy dokument Worda.
doc = aw.Document()

# Utwórz narzędzie do tworzenia dokumentów.
builder = aw.DocumentBuilder(doc)

# Uruchom tabelę.
table = builder.start_table()

# Wstaw komórkę.
builder.insert_cell()

# Formatowanie całej tabeli należy zastosować, gdy w tabeli znajduje się co najmniej jeden wiersz.
table.left_indent = 20.0

# Ustaw wysokość i zdefiniuj regułę wysokości dla wiersza nagłówka.
builder.row_format.height = 40.0
builder.row_format.height_rule = aw.HeightRule.AT_LEAST

# Ustaw wyrównanie i ustawienia czcionek.
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")

# Nie musimy określać szerokości tej komórki, ponieważ jest ona dziedziczona z poprzedniej komórki.
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.width = 100.0
builder.cell_format.vertical_alignment = aw.tables.CellVerticalAlignment.CENTER

# Zresetuj wysokość i zdefiniuj inną regułę wysokości dla treści tabeli.
builder.row_format.height = 30.0
builder.row_format.height_rule = aw.HeightRule.AUTO
builder.insert_cell()

# Zresetuj formatowanie czcionki.
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()

# Stół końcowy.
builder.end_table()

# Zapisz dokument.
doc.save("table_formatted.docx")

Poniżej znajduje się zrzut ekranu tabeli, którą utworzyliśmy przy użyciu powyższego przykładowego kodu.

Utwórz zagnieżdżoną tabelę w dokumencie programu Word w Python

Aspose.Words for Python pozwala również bezproblemowo tworzyć zagnieżdżone tabele. Innymi słowy, możesz utworzyć nową tabelę w komórce tabeli. Poniżej przedstawiono kroki tworzenia zagnieżdżonej tabeli w pliku Word DOCX.

  • Utwórz obiekt klasy Document.
  • Utwórz obiekt klasy DocumentBuilder.
  • Uruchom tabelę za pomocą metody DocumentBuilder.starttable() i pobierz odwołanie do tabeli w obiekcie.
  • Wstaw komórkę za pomocą metody DocumentBuilder.insertcell() i pobierz odwołanie do komórki w obiekcie.
  • Wstaw tekst do komórki za pomocą metody DocumentBuilder.write().
  • W razie potrzeby powtórz wstawianie komórek i tekstu do komórek.
  • Zakończ tabelę po wstawieniu wszystkich wierszy.
  • Przenieś formant do żądanej komórki za pomocą metody DocumentBuilder.moveto(Cell.firstparagraph).
  • Utwórz kolejną tabelę, wstawiając komórki i zakończ tabelę po zakończeniu.
  • Zapisz dokument programu Word za pomocą metody Document.save().

Poniższy przykładowy kod pokazuje, jak utworzyć zagnieżdżoną tabelę w dokumencie DOCX przy użyciu języka Python.

import aspose.words as aw

# Utwórz nowy dokument Worda.
doc = aw.Document()
builder = aw.DocumentBuilder(doc)

# Wstaw komórkę.
cell = builder.insert_cell()
builder.writeln("Outer Table Cell 1")

builder.insert_cell()
builder.writeln("Outer Table Cell 2")

# To wywołanie jest ważne, aby utworzyć zagnieżdżoną tabelę w pierwszej tabeli. 
# Bez tego wywołania komórki wstawione poniżej zostaną dołączone do tabeli zewnętrznej.
builder.end_table()

# Przejdź do pierwszej komórki tabeli zewnętrznej.
builder.move_to(cell.first_paragraph)

# Zbuduj wewnętrzny stół.
builder.insert_cell()
builder.writeln("Inner Table Cell 1")
builder.insert_cell()
builder.writeln("Inner Table Cell 2")
builder.end_table()

# Zapisz dokument.
doc.save("table_nested.docx")

Poniżej przedstawiono dane wyjściowe powyższego przykładowego kodu.

Sklonuj istniejącą tabelę w dokumencie programu Word w Python

Możesz także sklonować istniejącą tabelę w dokumencie programu Word. Poniżej przedstawiono kroki, aby wykonać tę operację.

  • Załaduj dokument za pomocą klasy Document.
  • Pobierz odwołanie do tabeli w obiekcie za pomocą metody Document.getchild(NodeType.TABLE, int, boolean).astable() .
  • Wywołaj metodę clone(True).astable() przy użyciu obiektu tabeli i uzyskaj odwołanie do sklonowanej tabeli w innym obiekcie.
  • Wstaw sklonowaną tabelę za pomocą metody Table.parentnode.insertafter().
  • Wstaw pusty akapit między tabele, używając metody Table.parentnode.insertafter(Paragraph(Document), Table).
  • Zapisz dokument programu Word za pomocą metody Document.save().

Poniższy przykładowy kod pokazuje, jak sklonować tabelę w dokumencie Word DOCX przy użyciu języka Python.

import aspose.words as aw

# Załaduj dokument Worda.
doc = aw.Document("table_formatted.docx")

# Uzyskaj odniesienie do żądanej tabeli.
table = doc.get_child(aw.NodeType.TABLE, 0, True).as_table()

# Sklonuj tabelę i wstaw ją do dokumentu po oryginalnej tabeli.
tableClone = table.clone(True).as_table()
table.parent_node.insert_after(tableClone, table)

# Wstaw pusty akapit między dwie tabele,
# albo zostaną połączone w jedno po zapisaniu.
table.parent_node.insert_after(aw.Paragraph(doc), table)

# Zapisz dokument.
doc.save("table_clone.docx")

Poniższy zrzut ekranu przedstawia sklonowaną tabelę w dokumencie programu Word.

Uzyskaj bezpłatną licencję API

Możesz uzyskać tymczasową licencję na używanie Aspose.Words for Python bez ograniczeń ewaluacyjnych.

Wniosek

W tym artykule nauczyłeś się, jak tworzyć tabele w dokumentach Word za pomocą Python. Ponadto widziałeś, jak dynamicznie tworzyć zagnieżdżone tabele lub klonować istniejące tabele w dokumentach Worda. Poza tym możesz odwiedzić dokumentację Aspose.Words for Python, aby poznać inne funkcje. Jeśli masz jakiekolwiek pytania, daj nam znać za pośrednictwem naszego forum.

Zobacz też

Info: Jeśli kiedykolwiek będziesz potrzebował pobrać dokument Word z prezentacji PowerPoint, możesz użyć konwertera Aspose Presentation to Word Document.