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
- Utwórz tabelę w dokumencie programu Word
- Utwórz zagnieżdżoną tabelę w dokumencie programu Word
- Sklonuj istniejącą tabelę w dokumencie 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ż
- Twórz dokumenty MS Word za pomocą Python
- Konwertuj dokument Word na HTML za pomocą Python
- Konwertuj dokumenty programu Word do formatu PNG, JPEG lub BMP w Python
- Dokumenty Worda do Markdown przy użyciu Python
- Porównaj dwa dokumenty Worda w Python
Info: Jeśli kiedykolwiek będziesz potrzebował pobrać dokument Word z prezentacji PowerPoint, możesz użyć konwertera Aspose Presentation to Word Document.