Sorok és oszlopok kezelése PowerPoint táblázatokban Androidon
Bevezetés
Az Aspose.Slides for Android via Java lehetővé teszi a táblázat szerkezetének és formázásának kezelését a PowerPoint‑prezentációkban a Table osztály és az ITable interfész segítségével. Megjelölhet egy fejlécsort, másolhat vagy eltávolíthat sorokat és oszlopokat, valamint szövegformázást alkalmazhat egy teljes sorra vagy oszlopra.
Ez a cikk elmagyarázza ezeket a műveleteket Java‑példákkal. Emellett bemutatja, hogyan lehet lekérni egy táblázat stílus‑presetjét, hogy újra felhasználhassa. A táblázat sor- és oszlopindexei 0‑alapúak.
Sormagasság vezérlése
Használja az IRow.setMinimalHeight metódust a sor minimális magasságának pontban történő beállításához. Ez egy alsó határ, nem rögzített magasság. Az IRow.getHeight lekéri a tényleges magasságot. A sorhoz az ITable.getRows segítségével férhet hozzá.
A példa betölti a row-height-input.pptx fájlt, amelyben a táblázat az első dián az első alakzatként szerepel. 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 sorba törik. A példa megnöveli a minimumot 100 pontra, majd lecsökkenti 20 pontra, minden változtatás után kiírja a tényleges magasságot, és elmenti mindkét eredményt.
import com.aspose.slides.*;
Presentation presentation = new Presentation("row-height-input.pptx");
try {
ISlide slide = presentation.getSlides().get_Item(0);
ITable table = (ITable)slide.getShapes().get_Item(0);
IRow row = table.getRows().get_Item(0);
row.setMinimalHeight(100);
System.out.printf("Increased: minimum = %.1f, actual = %.1f pt%n", row.getMinimalHeight(), row.getHeight());
presentation.save("row-height-increased.pptx", SaveFormat.Pptx);
row.setMinimalHeight(20);
System.out.printf("Decreased: minimum = %.1f, actual = %.1f pt%n", row.getMinimalHeight(), row.getHeight());
presentation.save("row-height-decreased.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
A mellékelt prezentációval a minimum növelése helyet ad a sorban. 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 csak önmagában nem tudja alácsökkenteni a sort a tartalom által igényelt hely alá.
Több tényező befolyásolja a tényleges magasságot:
- Szöveg és betűméret: a 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ésekor az oszlopszélesség csökkentése az IColumn.setWidth metódussal több sort eredményezhet. Egy szélesebb oszlop csökkentheti a függőlegesen szükséges helyet.
- Cellamargók: az ICell.setMarginTop és ICell.setMarginBottom függőleges helyet adnak hozzá. az ICell.setMarginLeft és ICell.setMarginRight csökkentik a szöveg számára elérhető szélességet, ami további sortörést eredményezhet.
Ezen a táblázaton, amelyben nincs egyesített cella, a legtöbb függőleges helyet igénylő cella határozza meg a tartalom által vezérelt alsó határt a teljes sorra. A sor rövidebbé tételéhez esetleg a szöveget kell rövidíteni, a betűméretet vagy a margókat csökkenteni, vagy egy oszlopot szélesebbre tenni.
Az alábbi képek ugyanazt a táblázatot mutatják azonos méretben. A bemutatott eredményekben a tényleges magasságok 70, 100 és 55,2 pont voltak: az utolsó sor magasabb maradt, mint a 20 pontos minimum. A pontos szövegmérések a környezetben rendelkezésre álló betűtípusoktól függően változhatnak. Töltse le a mentett eredményeket: increased minimum és decreased minimum.
| Eredeti: minimum 70 pt, tényleges 70 pt | Növelve: minimum 100 pt, tényleges 100 pt | Csökkentve: minimum 20 pt, tényleges 55.2 pt |
|---|---|---|
![]() |
![]() |
![]() |
Állítsa be az első sort fejlécként
Használja a setFirstRow metódust, hogy megjelölje az első sort fejlécként. A megjelenése a táblázatra alkalmazott táblastílustól függ.
- Töltse be a prezentációt a Presentation osztállyal.
- Hozzáférés az első diához.
- Hozzáférés a dián az első alakzatként tárolt táblázathoz.
- Engedélyezze a fejlécek formázását az első sorra.
- Mentse a módosított prezentációt.
A példához table.pptx fájlra van szükség, amelyben a táblázat az első dián az első alakzatként szerepel. Engedélyezi az első sor fejlécek formázását, és elmenti a First_row_header.pptx fájlt.
import com.aspose.slides.*;
Presentation presentation = new Presentation("table.pptx");
try {
ISlide slide = presentation.getSlides().get_Item(0);
ITable table = (ITable)slide.getShapes().get_Item(0);
table.setFirstRow(true);
presentation.save("First_row_header.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Klónozzon táblázatsort vagy oszlopot
Klónozza a sorokat vagy oszlopokat, hogy újra felhasználja a tartalmukat és formázásukat. A másolatot hozzáfűzheti a táblázat végéhez, vagy egy adott pozícióra beillesztheti.
- Töltse be a prezentációt a Presentation osztállyal.
- Hozzáférés az első diához.
- Határozza meg az oszlopszélességeket és sormagasságokat.
- Adjon hozzá egy táblázatot az addTable metódussal.
- Klónozza a szükséges sorokat.
- Klónozza a szükséges oszlopokat.
- Mentse a módosított prezentációt.
A példához Test.pptx fájlra van szükség, amely legalább egy diát tartalmaz. Létrehoz egy három oszlopos és öt soros táblázatot, a méreteket pontban megadva. Az első sor és oszlop másolatait a végére fűzi, majd a második sor és oszlop másolatait a 3‑as indexnél (a negyedik pozíció) illeszti be. Az eredményül kapott táblázat hét sorból és öt oszlopból áll. A false argumentum megakadályozza a klónozást a szomszédos egyesített sorok vagy oszlopok esetén; ez a táblázat nem tartalmaz egyesített cellákat.
import com.aspose.slides.*;
Presentation presentation = new Presentation("Test.pptx");
try {
ISlide slide = presentation.getSlides().get_Item(0);
double[] columnWidths = new double[] { 50, 50, 50 };
double[] rowHeights = new double[] { 50, 30, 30, 30, 30 };
ITable table = slide.getShapes().addTable(100, 50, columnWidths, rowHeights);
table.get_Item(0, 0).getTextFrame().setText("Row 1 Cell 1");
table.get_Item(1, 0).getTextFrame().setText("Row 1 Cell 2");
table.getRows().addClone(table.getRows().get_Item(0), false);
table.get_Item(0, 1).getTextFrame().setText("Row 2 Cell 1");
table.get_Item(1, 1).getTextFrame().setText("Row 2 Cell 2");
table.getRows().insertClone(3, table.getRows().get_Item(1), false);
table.getColumns().addClone(table.getColumns().get_Item(0), false);
table.getColumns().insertClone(3, table.getColumns().get_Item(1), false);
presentation.save("table_out.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Táblázat sorának vagy oszlopának eltávolítása
Távolítsa el a már nem szükséges sorokat vagy oszlopokat a táblázatból. 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.
- Hozzáférés az első diához.
- Határozza meg az oszlopszélességeket és sormagasságokat.
- Adjon hozzá egy táblázatot az addTable metódussal.
- Távolítsa el a második sort és a második oszlopot.
- Mentse a módosított prezentációt.
Ez a példa egy három‑három táblázatot hoz létre, és eltávolítja az 1‑es indexű sort és oszlopot, így egy két‑két táblázat marad a TestTable_out.pptx fájlban. A méretek pontban vannak megadva. A false argumentum megakadályozza 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 com.aspose.slides.*;
Presentation presentation = new Presentation();
try {
ISlide slide = presentation.getSlides().get_Item(0);
double[] columnWidths = new double[] { 100, 50, 30 };
double[] rowHeights = new double[] { 30, 50, 30 };
ITable table = slide.getShapes().addTable(100, 100, columnWidths, rowHeights);
table.getRows().removeAt(1, false);
table.getColumns().removeAt(1, false);
presentation.save("TestTable_out.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Szövegformázás beállítása a táblázatsor szintjén
Alkalmazzon szövegformázást egy teljes sorra, hogy a cellák egységesek legyenek. Beállíthat betűtulajdonságokat, bekezdésformázást és szövegirányt anélkül, hogy egyesével formázná a cellákat.
- Töltse be a prezentációt a Presentation osztállyal.
- Hozzáférés az első dián lévő táblázathoz.
- Használja a setFontHeight metódust az első sorra.
- Használja a setAlignment és a setMarginRight metódusokat az első sorra.
- Használja a setTextVerticalType metódust a második sorra.
- Mentse a módosított prezentációt.
A példához table.pptx fájlra van szükség, amelyben a táblázat az első dián az első alakzatként szerepel, és legalább két sor van. Az első sorra 25 pontos szöveget, jobb igazítást és 20 pontos jobb bekezdésmargót alkalmaz, majd a második sorra függőleges szöveget állít be.
import com.aspose.slides.*;
Presentation presentation = new Presentation("table.pptx");
try {
ISlide slide = presentation.getSlides().get_Item(0);
ITable table = (ITable)slide.getShapes().get_Item(0);
PortionFormat portionFormat = new PortionFormat();
portionFormat.setFontHeight(25);
table.getRows().get_Item(0).setTextFormat(portionFormat);
ParagraphFormat paragraphFormat = new ParagraphFormat();
paragraphFormat.setAlignment(TextAlignment.Right);
paragraphFormat.setMarginRight(20);
table.getRows().get_Item(0).setTextFormat(paragraphFormat);
TextFrameFormat textFrameFormat = new TextFrameFormat();
textFrameFormat.setTextVerticalType(TextVerticalType.Vertical);
table.getRows().get_Item(1).setTextFormat(textFrameFormat);
presentation.save("row_formatting.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Szövegformázás beállítása a táblázatoszlop szintjén
Alkalmazzon szövegformázást egy teljes oszlopra, hogy a cellák egységesek legyenek. Beállíthat betűtulajdonságokat, bekezdésformázást és szövegirányt anélkül, hogy egyesével formázná a cellákat.
- Töltse be a prezentációt a Presentation osztállyal.
- Hozzáférés az első dián lévő táblázathoz.
- Használja a setFontHeight metódust az első oszlopra.
- Használja a setAlignment és a setMarginRight metódusokat az első oszlopra.
- Használja a setTextVerticalType metódust a második oszlopra.
- Mentse a módosított prezentációt.
A példához table.pptx fájlra van szükség, amelyben a táblázat az első dián az első alakzatként szerepel, és legalább két oszlop van. Az első oszlopra 25 pontos szöveget, jobb igazítást és 20 pontos jobb bekezdésmargót alkalmaz, majd a második oszlopra függőleges szöveget állít be.
import com.aspose.slides.*;
Presentation presentation = new Presentation("table.pptx");
try {
ISlide slide = presentation.getSlides().get_Item(0);
ITable table = (ITable)slide.getShapes().get_Item(0);
PortionFormat portionFormat = new PortionFormat();
portionFormat.setFontHeight(25);
table.getColumns().get_Item(0).setTextFormat(portionFormat);
ParagraphFormat paragraphFormat = new ParagraphFormat();
paragraphFormat.setAlignment(TextAlignment.Right);
paragraphFormat.setMarginRight(20);
table.getColumns().get_Item(0).setTextFormat(paragraphFormat);
TextFrameFormat textFrameFormat = new TextFrameFormat();
textFrameFormat.setTextVerticalType(TextVerticalType.Vertical);
table.getColumns().get_Item(1).setTextFormat(textFrameFormat);
presentation.save("column_formatting.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Táblázat stílus tulajdonságainak lekérése
Használja a getStylePreset metódust, hogy lekérje egy táblázatra alkalmazott presetet, és újra felhasználja egy másik táblázaton. Ez a presetet azonosítja, nem az egyes cellák formázási felülírásait.
A példa létrehoz egy táblázatot, a TableStylePreset.DarkStyle1 presetet alkalmazza, és visszaolvassa a presetet. Kiírja a DarkStyle1-nek megfelelő egész értéket, majd elmenti a táblázatot a table.pptx fájlba.
import com.aspose.slides.*;
Presentation presentation = new Presentation();
try {
ISlide slide = presentation.getSlides().get_Item(0);
double[] columnWidths = new double[] { 100, 150 };
double[] rowHeights = new double[] { 5, 5, 5 };
ITable table = slide.getShapes().addTable(10, 10, columnWidths, rowHeights);
table.setStylePreset(TableStylePreset.DarkStyle1);
int stylePreset = table.getStylePreset();
System.out.println(stylePreset);
presentation.save("table.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
GYIK
Alkalmazhatok PowerPoint témákat/stílusokat egy már létrehozott táblázatra?
Igen. A táblázat örökli a dia/elrendezés/mester téma beállításait, és továbbra is felülírhatja a kitöltéseket, szegélyeket és a szövegszíneket a téma felett.
Rendezhetem a táblázat sorait úgy, mint az Excelben?
Nem, az Aspose.Slides táblázatokban nincs beépített rendezés vagy szűrő. Először rendezd a adatokat a memóriában, majd töltsd fel a táblázat sorait a kívánt sorrendben.
Lehet színes (csíkozott) oszlopok, miközben bizonyos cellákra egyedi színeket tartok fenn?
Igen. Kapcsold be a csíkozott oszlopokat, majd felülírd a konkrét cellákat helyi formázással; a cellaszintű formázás felülírja a táblastílust.


