PowerPoint táblázatok sorainak és oszlopainak kezelése PHP használatával
Bevezetés
Annak érdekében, hogy kezelhesse egy táblázat sorait és oszlopait egy PowerPoint‑prezentációban, az Aspose.Slides biztosítja a Table osztályt és számos más típust.
Az első sor beállítása fejlécként
- Hozzon létre egy Presentation osztálypéldányt, és töltse be a prezentációt.
- Szerezze meg a dia referenciáját az indexe alapján.
- Hozzon létre egy Table objektumot, és állítsa null‑ra.
- Iteráljon végig az összes Shape objektumon, hogy megtalálja a megfelelő táblázatot.
- Állítsa be a táblázat első sorát fejlécként.
Ez a PHP kód bemutatja, hogyan állíthatja be egy táblázat első sorát fejlécként:
# Példányosítja a Presentation osztályt
$pres = new Presentation("table.pptx");
try {
# Eléri az első diát
$sld = $pres->getSlides()->get_Item(0);
# Inicializálja a null TableEx-et
$tbl = null;
# Végigiterál a shape-eken, és beállítja a táblázatra való hivatkozást
foreach($sld->getShapes() as $shp) {
if (java_instanceof($shp, new JavaClass("com.aspose.slides.Table"))) {
$tbl = $shp;
# Beállítja a táblázat első sorát fejlécként
$tbl->setFirstRow(true);
}
}
# Elmenti a prezentációt a lemezre
$pres->save("pres.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Táblázatsor vagy -oszlop klónozása
- Hozzon létre egy Presentation osztálypéldányt, és töltse be a prezentációt,
- Szerezze meg a dia referenciáját az indexe alapján.
- Határozzon meg egy
columnWidthtömböt. - Határozzon meg egy
rowHeighttömböt. - Adjon egy Table objektumot a diára a addTable metódus segítségével.
- Klónozza a táblázat sorát.
- Klónozza a táblázat oszlopát.
- Mentse el a módosított prezentációt.
Ez a PHP kód bemutatja, hogyan klónozhatja egy PowerPoint táblázat sorát vagy oszlopát:
# Példányosítja a Presentation osztályt
$pres = new Presentation("Test.pptx");
try {
# Eléri az első diát
$sld = $pres->getSlides()->get_Item(0);
# Definiálja az oszlopokat szélességekkel és a sorokat magasságokkal
$dblCols = array(50, 50, 50 );
$dblRows = array(50, 30, 30, 30, 30 );
# Hozzáad egy táblázat alakzatot a diához
$table = $sld->getShapes()->addTable(100, 50, $dblCols, $dblRows);
# Hozzáad némi szöveget az 1. sor 1. cellájához
$table->get_Item(0, 0)->getTextFrame()->setText("Row 1 Cell 1");
# Hozzáad némi szöveget az 1. sor 2. cellájához
$table->get_Item(1, 0)->getTextFrame()->setText("Row 1 Cell 2");
# Klónozza az 1. sort a táblázat végén
$table->getRows()->addClone($table->getRows()->get_Item(0), false);
# Hozzáad némi szöveget a 2. sor 1. cellájához
$table->get_Item(0, 1)->getTextFrame()->setText("Row 2 Cell 1");
# Hozzáad némi szöveget a 2. sor 2. cellájához
$table->get_Item(1, 1)->getTextFrame()->setText("Row 2 Cell 2");
# Klónozza a 2. sort a táblázat 4. soraként
$table->getRows()->insertClone(3, $table->getRows()->get_Item(1), false);
# Klónozza az első oszlopot a végén
$table->getColumns()->addClone($table->getColumns()->get_Item(0), false);
# Klónozza a 2. oszlopot a 4. oszlop indexén
$table->getColumns()->insertClone(3, $table->getColumns()->get_Item(1), false);
# Elmenti a prezentációt a lemezre
$pres->save("table_out.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Sor vagy oszlop eltávolítása a táblázatból
- Hozzon létre egy Presentation osztálypéldányt, és töltse be a prezentációt,
- Szerezze meg a dia referenciáját az indexe alapján.
- Határozzon meg egy
columnWidthtömböt. - Határozzon meg egy
rowHeighttömböt. - Adjon egy Table objektumot a diára a addTable metódus segítségével.
- Távolítsa el a táblázat sorát.
- Távolítsa el a táblázat oszlopát.
- Mentse el a módosított prezentációt.
Ez a PHP kód bemutatja, hogyan távolíthat el egy sort vagy oszlopot egy táblázatból:
$pres = new Presentation();
try {
$slide = $pres->getSlides()->get_Item(0);
$colWidth = array(100, 50, 30 );
$rowHeight = array(30, 50, 30 );
$table = $slide->getShapes()->addTable(100, 100, $colWidth, $rowHeight);
$table->getRows()->removeAt(1, false);
$table->getColumns()->removeAt(1, false);
$pres->save("TestTable_out.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Szövegformázás beállítása táblázatsoros szinten
- Hozzon létre egy Presentation osztálypéldányt, és töltse be a prezentációt,
- Szerezze meg a dia referenciáját az indexe alapján.
- Érje el a megfelelő Table objektumot a diáról.
- Állítsa be az első sor celláinak setFontHeight(float value).
- Állítsa be az első sor celláinak setAlignment(int value) és setMarginRight(float value) értékeit.
- Állítsa be a második sor celláinak setTextVerticalType(byte value).
- Mentse el a módosított prezentációt.
Ez a PHP kód demonstrálja a műveletet.
# Létrehozza a Presentation osztály példányát
$pres = new Presentation();
try {
# Tegyük fel, hogy az első dia első alakzata egy táblázat
$someTable = $pres->getSlides()->get_Item(0)->getShapes()->get_Item(0);
# Beállítja az első sor celláinak betűméreteit
$portionFormat = new PortionFormat();
$portionFormat::setFontHeight(25);
$someTable->getRows()->get_Item(0)->setTextFormat($portionFormat);
# Beállítja az első sor celláinak szövegigazítását és jobb margóját
$paragraphFormat = new ParagraphFormat();
$paragraphFormat::setAlignment(TextAlignment->Right);
$paragraphFormat::setMarginRight(20);
$someTable->getRows()->get_Item(0)->setTextFormat($paragraphFormat);
# Beállítja a második sor celláinak függőleges szövegtípusát
$textFrameFormat = new TextFrameFormat();
$textFrameFormat::setTextVerticalType(TextVerticalType::Vertical);
$someTable->getRows()->get_Item(1)->setTextFormat($textFrameFormat);
# Elmenti a prezentációt a lemezre
$pres->save("result.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Szövegformázás beállítása táblázatoszlopos szinten
- Hozzon létre egy Presentation osztálypéldányt, és töltse be a prezentációt,
- Szerezze meg a dia referenciáját az indexe alapján.
- Érje el a megfelelő Table objektumot a diáról.
- Állítsa be az első oszlop celláinak setFontHeight(float value).
- Állítsa be az első oszlop celláinak setAlignment(int value) és setMarginRight(float value) értékeit.
- Állítsa be a második oszlop celláinak setTextVerticalType(byte value).
- Mentse el a módosított prezentációt.
Ez a PHP kód demonstrálja a műveletet:
# Létrehozza a Presentation osztály példányát
$pres = new Presentation();
try {
# Tegyük fel, hogy az első dia első alakzata egy táblázat
$someTable = $pres->getSlides()->get_Item(0)->getShapes()->get_Item(0);
# Beállítja az első oszlop celláinak betűmagasságát
$portionFormat = new PortionFormat();
$portionFormat::setFontHeight(25);
$someTable->getColumns()->get_Item(0)->setTextFormat($portionFormat);
# Beállítja az első oszlop celláinak szövegigazítását és jobb margóját egy hívásban
$paragraphFormat = new ParagraphFormat();
$paragraphFormat::setAlignment(TextAlignment->Right);
$paragraphFormat::setMarginRight(20);
$someTable->getColumns()->get_Item(0)->setTextFormat($paragraphFormat);
# Beállítja a második oszlop celláinak függőleges szövegtípusát
$textFrameFormat = new TextFrameFormat();
$textFrameFormat::setTextVerticalType(TextVerticalType::Vertical);
$someTable->getColumns()->get_Item(1)->setTextFormat($textFrameFormat);
$pres->save("result.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Táblázat stílus tulajdonságok lekérése
Az Aspose.Slides lehetővé teszi, hogy lekérje egy táblázat stílus tulajdonságait, hogy azokat egy másik táblázathoz vagy máshová felhasználhassa. Ez a PHP kód bemutatja, hogyan kaphatja meg a stilus tulajdonságokat egy táblázat előre beállított stílusából:
$pres = new Presentation();
try {
$table = $pres->getSlides()->get_Item(0)->getShapes()->addTable(10, 10, array(100, 150 ), array(5, 5, 5 ));
$table->setStylePreset(TableStylePreset->DarkStyle1);// megváltoztatja az alapértelmezett stílus előbeállított témát
$pres->save("table.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
FAQ
Alkalmazhatok PowerPoint témákat/stílusokat egy már létrehozott táblázatra?
Igen. A táblázat örökli a dia/összeállítá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 ezen téma felett.
Rendezhetem a táblázat sorait, mint az Excelben?
Nem, az Aspose.Slides táblázatok nem rendelkeznek beépített rendezéssel vagy szűrőkkel. Először rendezze az adatokat a memóriában, majd töltse újra a táblázat sorait ebben a sorrendben.
Lehetnek csíkozott (csíkos) oszlopok, miközben egyes cellákra egyedi színeket tartok fenn?
Igen. Kapcsolja be a csíkozott oszlopokat, majd felülírja a specifikus cellákat helyi formázással; a cellaszintű formázás felülírja a táblázat stílusát.