PowerPoint táblázatok sorainak és oszlopainak kezelése Python segítségével
Bevezetés
Az Aspose.Slides for Python via .NET lehetővé teszi, hogy a Table osztályon keresztül kezelje a táblázat szerkezetét és formázását a PowerPoint‑prezentációkban. Kijelölhet egy fejlécsort, klónozhat vagy eltávolíthat sorokat és oszlopokat, valamint szövegformázást alkalmazhat egy teljes sorra vagy oszlopra.
Ez a cikk bemutatja ezeket a műveleteket Python‑példákkal. Ezen felül megmutatja, hogyan lehet lekérni egy táblázat stílus‑presetjét, hogy újra felhasználhassa azt. A táblázatsor‑ és oszlopszámok nullától kezdődnek.
Sor magasságának szabályozása
Használja a Row.minimal_height tulajdonságot egy sor minimális magasságának beállításához pontban. Ez egy alsó határ, nem rögzített magasság. A Row.height a tényleges magasságot adja vissza, és csak olvasható. A sorhoz a Table.rows segítségével férhet hozzá.
A példa betölti a row-height-input.pptx fájlt, amelyben az első dián az első alakzat egy táblázat. Az első sor 70 pontnál kezdődik. A cellák 18 pontos Arial szöveget, sortörést és 6 pontos felső és alsó margót használnak; a második oszlopban a hosszabb szöveg több sorra törik. A példa a minimális értéket 100 pontra növeli, majd 20 pontra csökkenti, minden változtatás után kiírja a tényleges magasságot, és elmenti mindkét eredményt.
import aspose.slides as slides
with slides.Presentation("row-height-input.pptx") as presentation:
table = presentation.slides[0].shapes[0]
row = table.rows[0]
row.minimal_height = 100
print(f"Increased: minimum = {row.minimal_height:.1f}, actual = {row.height:.1f} pt")
presentation.save("row-height-increased.pptx", slides.export.SaveFormat.PPTX)
row.minimal_height = 20
print(f"Decreased: minimum = {row.minimal_height:.1f}, actual = {row.height:.1f} pt")
presentation.save("row-height-decreased.pptx", slides.export.SaveFormat.PPTX)
A mellékelt prezentációval a minimum növelése helyet ad a sornak. A csökkentés eltávolítja ezt a plusz helyet, de a tényleges magasság továbbra is nagyobb lesz, mint 20 pont, mivel a szöveg és a cellamargók több helyet igényelnek. A minimum magának csökkentése önmagában nem kényszerítheti a sort a tartalom által igényelt hely alá.
A tényleges magasságot több tényező befolyásolja:
- Szöveg és betűméret: hosszabb szöveg, explicite sortörések vagy nagyobb betűméret több függőleges helyet igényelhet.
- Sortörés és oszlopszélesség: sortörés engedélyezése esetén egy keskenyebb Column.width több sort eredményezhet. Egy szélesebb oszlop csökkentheti a függőleges helyigényt.
- Cellamargók: a Cell.margin_top és a Cell.margin_bottom függőleges helyet ad. A Cell.margin_left és a Cell.margin_right pedig csökkenti a szöveg számára rendelkezésre álló szélességet, és további sortörést okozhat.
Ezen az egyesített cellákat nem tartalmazó táblázatnál a legmagasabb függőleges helyet igénylő cella határozza meg a sor alsó, tartalom‑vezérelt limitjét. A sor lerövidítéséhez gyakran szükséges a szöveget lerövidíteni, csökkenteni a betűméretet vagy a margókat, vagy egy oszlopot szélesíteni.
Az alábbi képek ugyanazt a táblázatot mutatják azonos méretben. Ebben a futtatásban a tényleges magasságok 70, 100 és 55,2 pont voltak: az utolsó sor továbbra is magasabb maradt, mint a 20‑pontos minimum. A pontos szövegmérések változhatnak a környezetben elérhető betűkészletektől függően. Töltse le a mentett eredményeket: increased minimum és decreased minimum.
| Eredeti: minimum 70 pt, tényleges 70 pt | Növelt: minimum 100 pt, tényleges 100 pt | Csökkentett: minimum 20 pt, tényleges 55.2 pt |
|---|---|---|
![]() |
![]() |
![]() |
Az első sor beállítása fejlécnek
Használja a first_row tulajdonságot az első sor fejlécformázásához. Megjelenése a táblázatra alkalmazott táblázat‑stílustól függ.
- Töltse be a prezentációt a Presentation osztállyal.
- Hozza el az első diát.
- Szerezze meg a dián az első alakzatként tárolt táblázatot.
- Engedélyezze a fejlécformázást az első sorra.
- Mentse el a módosított prezentációt.
A példa a table.pptx fájlt igényli, amelyben az első dián az első alakzat egy táblázat. Engedélyezi az első sor fejlécformázását, majd elmenti a First_row_header.pptx fájlt.
import aspose.slides as slides
with slides.Presentation("table.pptx") as presentation:
slide = presentation.slides[0]
table = slide.shapes[0]
table.first_row = True
presentation.save("First_row_header.pptx", slides.export.SaveFormat.PPTX)
Táblázatsor vagy -oszlop klónozása
Klónozza a sorokat vagy oszlopokat, hogy újra felhasználja azok tartalmát és formázását. A másolatot hozzáfűzheti a táblázat végéhez, vagy egy adott pozícióba beillesztheti.
- Töltse be a prezentációt a Presentation osztállyal.
- Hozza el az első diát.
- Definiálja az oszlopszélességeket és sormagasságokat.
- Adjon hozzá egy táblázatot a add_table metódussal.
- Klónozza a szükséges sorokat.
- Klónozza a szükséges oszlopokat.
- Mentse el a módosított prezentációt.
A példa a Test.pptx fájlt igényli, amely legalább egy diát tartalmaz. Létrehoz egy három oszlopos és öt soros táblázatot, a méreteket pontban adja meg. Az első sort és oszlopot hozzáfűzi, majd a második sort és oszlopot a 3‑as indexnél (a negyedik pozíció) beszúrja. Az eredmény egy hét soros és öt oszlopos táblázat. A False argumentum letiltja a klónozást a szomszédos egyesített sorokba vagy oszlopokba; ez a táblázat nem tartalmaz egyesített cellákat.
import aspose.slides as slides
with slides.Presentation("Test.pptx") as presentation:
slide = presentation.slides[0]
column_widths = [50, 50, 50]
row_heights = [50, 30, 30, 30, 30]
table = slide.shapes.add_table(100, 50, column_widths, row_heights)
table.rows[0][0].text_frame.text = "Row 1 Cell 1"
table.rows[0][1].text_frame.text = "Row 1 Cell 2"
table.rows.add_clone(table.rows[0], False)
table.rows[1][0].text_frame.text = "Row 2 Cell 1"
table.rows[1][1].text_frame.text = "Row 2 Cell 2"
table.rows.insert_clone(3, table.rows[1], False)
table.columns.add_clone(table.columns[0], False)
table.columns.insert_clone(3, table.columns[1], False)
presentation.save("table_out.pptx", slides.export.SaveFormat.PPTX)
Sor vagy oszlop eltávolítása a táblázatból
Távolítsa el a már nem szükséges sorokat vagy oszlopokat. Egy elem eltávolítása eltolja az azt követő sorok vagy oszlopok indexeit.
- Hozzon létre egy prezentációt a Presentation osztállyal.
- Hozza el az első diát.
- Definiálja az oszlopszélességeket és sormagasságokat.
- Adjon hozzá egy táblázatot a add_table metódussal.
- Távolítsa el a második sort és a második oszlopot.
- Mentse el a módosított prezentációt.
Ez a példa egy három‑háromas táblázatot hoz létre, majd az 1‑es indexű sort és oszlopot eltávolítja, így egy két‑két-es táblázat marad a TestTable_out.pptx fájlban. A méretek pontokban vannak megadva. A False argumentum letiltja a szomszédos egyesített sorok vagy oszlopok eltávolítását; ez a táblázat nem tartalmaz egyesített cellákat.
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)
Szövegformázás beállítása a táblázatsor szintjén
Alkalmazzon szövegformázást egy egész sorra, hogy a cellák konzisztens megjelenést kapjanak. Beállíthat betűtulajdonságokat, bekezdésformázást és szöve irányát anélkül, hogy minden egyes cellát külön kellene formázni.
- Töltse be a prezentációt a Presentation osztállyal.
- Hozza el a táblázatot az első dián.
- Állítsa be a font_height értékét az első sorra.
- Állítsa be az alignment és a margin_right értékét az első sorra.
- Állítsa be a text_vertical_type értékét a második sorra.
- Mentse el a módosított prezentációt.
A példa a table.pptx fájlt igényli, amelyben az első dián az első alakzat egy táblázat, és legalább két sor található benne. 25 pontos szöveget, jobbra igazítást és 20 pontos jobb bekezdésmargót alkalmaz az első sorra, majd a második sorra függőleges szöveget állít be.
import aspose.slides as slides
with slides.Presentation("table.pptx") as presentation:
slide = presentation.slides[0]
table = slide.shapes[0]
portion_format = slides.PortionFormat()
portion_format.font_height = 25
table.rows[0].set_text_format(portion_format)
paragraph_format = slides.ParagraphFormat()
paragraph_format.alignment = slides.TextAlignment.RIGHT
paragraph_format.margin_right = 20
table.rows[0].set_text_format(paragraph_format)
text_frame_format = slides.TextFrameFormat()
text_frame_format.text_vertical_type = slides.TextVerticalType.VERTICAL
table.rows[1].set_text_format(text_frame_format)
presentation.save("row_formatting.pptx", slides.export.SaveFormat.PPTX)
Szövegformázás beállítása a táblázatoszlop szintjén
Alkalmazzon szövegformázást egy egész oszlopra, hogy a cellák konzisztens megjelenést kapjanak. Beállíthat betűtulajdonságokat, bekezdésformázást és szöve irányát anélkül, hogy minden egyes cellát külön kellene formázni.
- Töltse be a prezentációt a Presentation osztállyal.
- Hozza el a táblázatot az első dián.
- Állítsa be a font_height értékét az első oszlopra.
- Állítsa be az alignment és a margin_right értékét az első oszlopra.
- Állítsa be a text_vertical_type értékét a második oszlopra.
- Mentse el a módosított prezentációt.
A példa a table.pptx fájlt igényli, amelyben az első dián az első alakzat egy táblázat, és legalább két oszlop szerepel benne. 25 pontos szöveget, jobbra igazítást és 20 pontos jobb bekezdésmargót alkalmaz az első oszlopra, majd a második oszlopra függőleges szöveget állít be.
import aspose.slides as slides
with slides.Presentation("table.pptx") as presentation:
slide = presentation.slides[0]
table = slide.shapes[0]
portion_format = slides.PortionFormat()
portion_format.font_height = 25
table.columns[0].set_text_format(portion_format)
paragraph_format = slides.ParagraphFormat()
paragraph_format.alignment = slides.TextAlignment.RIGHT
paragraph_format.margin_right = 20
table.columns[0].set_text_format(paragraph_format)
text_frame_format = slides.TextFrameFormat()
text_frame_format.text_vertical_type = slides.TextVerticalType.VERTICAL
table.columns[1].set_text_format(text_frame_format)
presentation.save("column_formatting.pptx", slides.export.SaveFormat.PPTX)
Táblázat‑stílus tulajdonságainak lekérése
Használja a style_preset tulajdonságot egy táblázatra alkalmazott preset lekérdezéséhez, hogy azt egy másik táblázaton is felhasználhassa. Ez a presetet azonosítja, nem pedig az egyedi cellaformázási felülbírálásokat.
A példa létrehoz egy táblázatot, alkalmazza a TableStylePreset.DARK_STYLE1 presetet, majd visszaolvassa azt. Kiírja a True értéket, ha a visszakapott preset megegyezik a beállítottal, és menti a táblázatot a table.pptx fájlba.
import aspose.slides as slides
with slides.Presentation() as presentation:
slide = presentation.slides[0]
column_widths = [100, 150]
row_heights = [5, 5, 5]
table = slide.shapes.add_table(10, 10, column_widths, row_heights)
table.style_preset = slides.TableStylePreset.DARK_STYLE1
style_preset = table.style_preset
print(style_preset == slides.TableStylePreset.DARK_STYLE1)
presentation.save("table.pptx", slides.export.SaveFormat.PPTX)
GYIK
Alkalmazhatok PowerPoint‑témákat/stílusokat egy már létező táblázatra?
Igen. A táblázat örökli a dia/kiosztás/mester téma beállításait, és továbbra is felülírhatja a kitöltéseket, szegélyeket és szövegszíneket a téma felett.
Rendezhetem a táblázatsorokat úgy, mint Excelben?
Nem, az Aspose.Slides táblázatoknak nincs beépített rendezési vagy szűrési funkciója. Rendezze először az adatokat a memóriában, majd töltse fel a táblázatsorokat a kívánt sorrendben.
Lehet csíkos (striped) oszlopokat használni, miközben egyes cellákhoz egyedi színeket tartok meg?
Igen. Kapcsolja be a csíkos oszlopokat, majd helyi formázással felülírja a kívánt cellákat; a cellaszintű formázás elsőbbséget élvez a táblázat‑stílussal szemben.


