Zarządzaj wierszami i kolumnami w tabelach PowerPoint przy użyciu Pythona
Przegląd
Ten artykuł pokazuje, jak zarządzać wierszami i kolumnami tabel w prezentacjach PowerPoint i OpenDocument przy użyciu Aspose.Slides for Python. Dowiesz się, jak dodawać, wstawiać, klonować i usuwać wiersze lub kolumny, oznaczyć pierwszy wiersz jako nagłówek, dostosować rozmiary i układ oraz zastosować formatowanie tekstu i stylu na poziomie wiersza lub kolumny. Każde zadanie jest przedstawione przy użyciu zwięzłych, samodzielnych fragmentów kodu opartych na interfejsie API Table, dzięki czemu możesz szybko znaleźć tabelę na slajdzie i przekształcić jej strukturę, aby pasowała do twojego projektu.
Ustaw pierwszy wiersz jako nagłówek
Oznacz pierwszy wiersz tabeli jako nagłówek, aby wyraźnie odróżnić tytuły kolumn od danych. W Aspose.Slides for Python wystarczy włączyć opcję First Row tabeli, aby zastosować formatowanie nagłówka określone przez wybrany styl tabeli.
- Utwórz instancję klasy Presentation i wczytaj prezentację.
- Uzyskaj dostęp do slajdu za pomocą jego indeksu.
- Iteruj przez wszystkie obiekty Shape w celu znalezienia odpowiedniej tabeli.
- Ustaw pierwszy wiersz tabeli jako nagłówek.
import aspose.slides as slides
# Utwórz instancję klasy Presentation.
with slides.Presentation("table.pptx") as presentation:
# Uzyskaj dostęp do pierwszego slajdu.
slide = presentation.slides[0]
# Iteruj po kształtach i uzyskaj odwołanie do tabeli.
for shape in slide.shapes:
if type(shape) is slides.Table:
table = shape
break
# Ustaw pierwszy wiersz tabeli jako jej nagłówek.
table.first_row = True
# Zapisz prezentację na dysku.
presentation.save("table_out.pptx", slides.export.SaveFormat.PPTX)
Klonuj wiersz lub kolumnę tabeli
Sklonuj dowolny wiersz lub kolumnę tabeli i wstaw kopię w wybranym miejscu tabeli. Duplikat zachowuje zawartość komórek, formatowanie oraz rozmiary, dzięki czemu możesz szybko i konsekwentnie rozszerzać układy.
- Utwórz instancję klasy Presentation i wczytaj prezentację.
- Uzyskaj dostęp do slajdu za pomocą jego indeksu.
- Zdefiniuj tablicę szerokości kolumn.
- Zdefiniuj tablicę wysokości wierszy.
- Dodaj [Table] do slajdu używając
add_table(x, y, column_widths, row_heights). - Sklonuj wiersz tabeli.
- Sklonuj kolumnę tabeli.
- Zapisz zmodyfikowaną prezentację.
import aspose.slides as slides
# Utwórz instancję klasy Presentation.
with slides.Presentation() as presentation:
# Uzyskaj dostęp do pierwszego slajdu.
slide = presentation.slides[0]
# Zdefiniuj szerokości kolumn i wysokości wierszy.
column_widths = [50, 50, 50]
row_heights = [50, 30, 30, 30, 30]
# Dodaj tabelę do slajdu.
table = slide.shapes.add_table(100, 50, column_widths, row_heights)
# Dodaj tekst do wiersza 1, kolumny 1.
table.rows[0][0].text_frame.text = "Row 1 Cell 1"
# Dodaj tekst do wiersza 2, kolumny 1.
table.rows[1][0].text_frame.text = "Row 1 Cell 2"
# Sklonuj wiersz 1 na końcu tabeli.
table.rows.add_clone(table.rows[0], False)
# Dodaj tekst do wiersza 1, kolumny 2.
table.rows[0][1].text_frame.text = "Row 2 Cell 1"
# Dodaj tekst do wiersza 2, kolumny 2.
table.rows[1][1].text_frame.text = "Row 2 Cell 2"
# Sklonuj wiersz 2 jako 4‑ty wiersz tabeli.
table.rows.insert_clone(3,table.rows[1], False)
# Sklonuj pierwszą kolumnę na końcu.
table.columns.add_clone(table.columns[0], False)
# Sklonuj drugą kolumnę pod indeksem 3 (czwarte pozycję).
table.columns.insert_clone(3,table.columns[1], False)
# Zapisz prezentację na dysku.
presentation.save("table_out.pptx", slides.export.SaveFormat.PPTX)
Usuń wiersz lub kolumnę z tabeli
Uprość tabelę, usuwając dowolny wiersz lub kolumnę według indeksu przy użyciu Aspose.Slides for Python — układ automatycznie się dostosowuje, zachowując formatowanie pozostałych komórek. Jest to przydatne przy upraszczaniu siatek danych lub usuwaniu symboli zastępczych bez konieczności przebudowy tabeli.
- Utwórz instancję klasy Presentation i wczytaj prezentację.
- Uzyskaj dostęp do slajdu za pomocą jego indeksu.
- Zdefiniuj tablicę szerokości kolumn.
- Zdefiniuj tablicę wysokości wierszy.
- Dodaj ITable do slajdu używając
add_table(x, y, column_widths, row_heights). - Usuń wiersz tabeli.
- Usuń kolumnę tabeli.
- Zapisz zmodyfikowaną prezentację.
import aspose.slides as slides
with slides.Presentation() as presentation:
slide = presentation.slides[0]
column_widths = [100, 50, 30]
row_heights = [30, 50, 30]
table = slide.shapes.add_table(100, 100, column_widths, row_heights)
table.rows.remove_at(1, False)
table.columns.remove_at(1, False)
presentation.save("TestTable_out.pptx", slides.export.SaveFormat.PPTX)
Ustaw formatowanie tekstu na poziomie wiersza tabeli
Zastosuj spójny styl tekstu do całego wiersza tabeli w jednym kroku. Dzięki Aspose.Slides for Python możesz jednocześnie ustawić rodzinę czcionki, rozmiar, wagę, kolor i wyrównanie dla wszystkich komórek w wierszu, aby nagłówki lub paski danych były jednolite.
- Utwórz instancję klasy Presentation i wczytaj prezentację.
- Uzyskaj dostęp do slajdu za pomocą jego indeksu.
- Uzyskaj dostęp do odpowiedniego obiektu Table na slajdzie.
- Ustaw wysokość czcionki dla komórek pierwszego wiersza.
- Ustaw wyrównanie i prawy margines dla komórek pierwszego wiersza.
- Ustaw pionowy typ tekstu dla komórek drugiego wiersza.
- Zapisz zmodyfikowaną prezentację.
import aspose.slides as slides
# Utwórz instancję klasy Presentation.
with slides.Presentation() as presentation:
slide = presentation.slides[0]
table = slide.shapes.add_table(100, 100, [100, 50, 30], [30, 50, 30])
# Ustaw wysokość czcionki dla komórek pierwszego wiersza.
portion_format = slides.PortionFormat()
portion_format.font_height = 25
table.rows[0].set_text_format(portion_format)
# Ustaw wyrównanie tekstu i prawy margines komórek pierwszego wiersza.
paragraph_format = slides.ParagraphFormat()
paragraph_format.alignment = slides.TextAlignment.RIGHT
paragraph_format.margin_right = 20
table.rows[0].set_text_format(paragraph_format)
# Ustaw pionowy typ tekstu komórek drugiego wiersza.
text_frame_format = slides.TextFrameFormat()
text_frame_format.text_vertical_type = slides.TextVerticalType.VERTICAL
table.rows[1].set_text_format(text_frame_format)
# Zapisz prezentację na dysku.
presentation.save("result.pptx", slides.export.SaveFormat.PPTX)
Ustaw formatowanie tekstu na poziomie kolumny tabeli
Zastosuj spójny styl tekstu do całej kolumny tabeli w jednym kroku. Dzięki Aspose.Slides for Python możesz jednocześnie ustawić rodzinę czcionki, rozmiar, wagę, kolor i wyrównanie dla wszystkich komórek w kolumnie, tworząc jednolite pionowe sekcje nagłówków lub danych.
- Utwórz instancję klasy Presentation i wczytaj prezentację.
- Uzyskaj dostęp do slajdu za pomocą jego indeksu.
- Uzyskaj dostęp do odpowiedniego obiektu Table na slajdzie.
- Ustaw wysokość czcionki dla komórek pierwszej kolumny.
- Ustaw wyrównanie i prawy margines dla komórek pierwszej kolumny.
- Ustaw pionowy typ tekstu dla komórek drugiej kolumny.
- Zapisz zmodyfikowaną prezentację.
import aspose.slides as slides
# Utwórz instancję klasy Presentation.
with slides.Presentation() as presentation:
slide = presentation.slides[0]
table = slide.shapes.add_table(100, 100, [100, 50, 30], [30, 50, 30])
# Ustaw wysokość czcionki komórek pierwszej kolumny.
portion_format = slides.PortionFormat()
portion_format.font_height = 25
table.columns[0].set_text_format(portion_format)
# Ustaw wyrównanie tekstu i prawy margines komórek pierwszej kolumny.
paragraph_format = slides.ParagraphFormat()
paragraph_format.alignment = slides.TextAlignment.RIGHT
paragraph_format.margin_right = 20
table.columns[0].set_text_format(paragraph_format)
# Ustaw pionowy typ tekstu komórek drugiej kolumny.
text_frame_format = slides.TextFrameFormat()
text_frame_format.text_vertical_type = slides.TextVerticalType.VERTICAL
table.columns[1].set_text_format(text_frame_format)
# Zapisz prezentację na dysku.
presentation.save("result.pptx", slides.export.SaveFormat.PPTX)
Pobierz właściwości stylu tabeli
Aspose.Slides umożliwia pobranie właściwości stylu tabeli, aby można było je ponownie wykorzystać w innej tabeli lub w innym miejscu. Poniższy kod Pythona pokazuje, jak uzyskać właściwości stylu z predefiniowanego stylu tabeli:
import aspose.slides as slides
with slides.Presentation() as presentation:
slide = presentation.slides[0]
table = slide.shapes.add_table(10, 10, [100, 150], [5, 5, 5])
table.style_preset = slides.TableStylePreset.DARK_STYLE1
presentation.save("table.pptx", slides.export.SaveFormat.PPTX)
FAQ
Czy mogę zastosować motywy/ style PowerPoint do już istniejącej tabeli?
Tak. Tabela dziedziczy motyw slajdu/układu/mastera, a nadal możesz nadpisać wypełnienia, obramowania i kolory tekstu ponad tym motywem.
Czy mogę sortować wiersze tabeli jak w Excelu?
Nie, tabele w Aspose.Slides nie posiadają wbudowanego sortowania ani filtrów. Posortuj najpierw dane w pamięci, a następnie ponownie wypełnij wiersze tabeli w tej kolejności.
Czy mogę mieć zebrane (pasy) kolumny, zachowując jednocześnie niestandardowe kolory w określonych komórkach?
Tak. Włącz kolumny w paski, a następnie nadpisz konkretne komórki formatowaniem lokalnym; formatowanie na poziomie komórki ma pierwszeństwo przed stylem tabeli.