Spravovat řádky a sloupce v tabulkách PowerPoint pomocí Javy
Úvod
Aby bylo možné spravovat řádky a sloupce tabulky v prezentaci PowerPoint, poskytuje Aspose.Slides třídu Table , rozhraní ITable a mnoho dalších typů.
Nastavit první řádek jako záhlaví
- Vytvořte instanci třídy Presentation a načtěte prezentaci.
- Získejte referenci snímku podle jeho indexu.
- Vytvořte objekt ITable a přiřaďte mu hodnotu null.
- Procházejte všechny objekty IShape a najděte požadovanou tabulku.
- Nastavte první řádek tabulky jako záhlaví.
Tento Java kód ukazuje, jak nastavit první řádek tabulky jako záhlaví:
// Vytvoří instanci třídy Presentation
Presentation pres = new Presentation("table.pptx");
try {
// Přistupuje k prvnímu snímku
ISlide sld = pres.getSlides().get_Item(0);
// Inicializuje nulový TableEx
ITable tbl = null;
// Prochází tvary a nastaví referenci na tabulku
for (IShape shp : sld.getShapes())
{
if (shp instanceof ITable)
{
tbl = (ITable)shp;
//Nastaví první řádek tabulky jako záhlaví
tbl.setFirstRow(true);
}
}
// Uloží prezentaci na disk
pres.save("pres.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Klonovat řádek nebo sloupec tabulky
- Vytvořte instanci třídy Presentation a načtěte prezentaci,
- Získejte referenci snímku podle jeho indexu.
- Definujte pole
columnWidth. - Definujte pole
rowHeight. - Přidejte objekt ITable na snímek pomocí metody addTable.
- Zklonujte řádek tabulky.
- Zklonujte sloupec tabulky.
- Uložte upravenou prezentaci.
Tento Java kód ukazuje, jak klonovat řádek nebo sloupec tabulky v PowerPointu:
// Vytvoří instanci třídy Presentation
Presentation pres = new Presentation("Test.pptx");
try {
// Přistupuje k prvnímu snímku
ISlide sld = pres.getSlides().get_Item(0);
// Definuje sloupce s šířkami a řádky s výškami
double[] dblCols = { 50, 50, 50 };
double[] dblRows = { 50, 30, 30, 30, 30 };
// Přidá tvar tabulky na snímek
ITable table = sld.getShapes().addTable(100, 50, dblCols, dblRows);
// Přidá text do buňky řádku 1 sloupce 1
table.get_Item(0, 0).getTextFrame().setText("Row 1 Cell 1");
// Přidá text do buňky řádku 1 sloupce 2
table.get_Item(1, 0).getTextFrame().setText("Row 1 Cell 2");
// Zklonuje řádek 1 na konci tabulky
table.getRows().addClone(table.getRows().get_Item(0), false);
// Přidá text do buňky řádku 2 sloupce 1
table.get_Item(0, 1).getTextFrame().setText("Row 2 Cell 1");
// Přidá text do buňky řádku 2 sloupce 2
table.get_Item(1, 1).getTextFrame().setText("Row 2 Cell 2");
// Zklonuje řádek 2 jako čtvrtý řádek tabulky
table.getRows().insertClone(3, table.getRows().get_Item(1), false);
// Zklonuje první sloupec na konci
table.getColumns().addClone(table.getColumns().get_Item(0), false);
// Zklonuje druhý sloupec na indexu čtvrtého sloupce
table.getColumns().insertClone(3,table.getColumns().get_Item(1), false);
// Uloží prezentaci na disk
pres.save("table_out.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Odstranit řádek nebo sloupec z tabulky
- Vytvořte instanci třídy Presentation a načtěte prezentaci,
- Získejte referenci snímku podle jeho indexu.
- Definujte pole
columnWidth. - Definujte pole
rowHeight. - Přidejte objekt ITable na snímek pomocí metody addTable.
- Odeberte řádek tabulky.
- Odeberte sloupec tabulky.
- Uložte upravenou prezentaci.
Tento Java kód ukazuje, jak odstranit řádek nebo sloupec z tabulky:
Presentation pres = new Presentation();
try {
ISlide slide = pres.getSlides().get_Item(0);
double[] colWidth = { 100, 50, 30 };
double[] rowHeight = { 30, 50, 30 };
ITable 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 (pres != null) pres.dispose();
}
Nastavit formátování textu na úrovni řádku tabulky
- Vytvořte instanci třídy Presentation a načtěte prezentaci,
- Získejte referenci snímku podle jeho indexu.
- Získejte odpovídající objekt ITable ze snímku.
- Nastavte buňkám v prvním řádku setFontHeight(float value).
- Nastavte buňkám v prvním řádku setAlignment(int value) a setMarginRight(float value).
- Nastavte buňkám ve druhém řádku setTextVerticalType(byte value).
- Uložte upravenou prezentaci.
Tento Java kód demonstruje operaci.
// Vytvoří instanci třídy Presentation
Presentation pres = new Presentation();
try {
// Předpokládejme, že první tvar na prvním snímku je tabulka
ITable someTable = (ITable)pres.getSlides().get_Item(0).getShapes().get_Item(0);
// Nastaví výšku písma buněk v prvním řádku
PortionFormat portionFormat = new PortionFormat();
portionFormat.setFontHeight(25);
someTable.getRows().get_Item(0).setTextFormat(portionFormat);
// Nastaví zarovnání textu a pravý okraj buněk v prvním řádku
ParagraphFormat paragraphFormat = new ParagraphFormat();
paragraphFormat.setAlignment(TextAlignment.Right);
paragraphFormat.setMarginRight(20);
someTable.getRows().get_Item(0).setTextFormat(paragraphFormat);
// Nastaví vertikální typ textu buněk ve druhém řádku
TextFrameFormat textFrameFormat = new TextFrameFormat();
textFrameFormat.setTextVerticalType(TextVerticalType.Vertical);
someTable.getRows().get_Item(1).setTextFormat(textFrameFormat);
// Uloží prezentaci na disk
pres.save("result.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Nastavit formátování textu na úrovni sloupce tabulky
- Vytvořte instanci třídy Presentation a načtěte prezentaci,
- Získejte referenci snímku podle jeho indexu.
- Získejte odpovídající objekt ITable ze snímku.
- Nastavte buňkám v prvním sloupci setFontHeight(float value).
- Nastavte buňkám v prvním sloupci setAlignment(int value) a setMarginRight(float value).
- Nastavte buňkám ve druhém sloupci setTextVerticalType(byte value).
- Uložte upravenou prezentaci.
Tento Java kód demonstruje operaci:
// Vytvoří instanci třídy Presentation
Presentation pres = new Presentation();
try {
// Předpokládejme, že první tvar na prvním snímku je tabulka
ITable someTable = (ITable)pres.getSlides().get_Item(0).getShapes().get_Item(0)];
// Nastaví výšku písma buněk v prvním sloupci
PortionFormat portionFormat = new PortionFormat();
portionFormat.setFontHeight(25);
someTable.getColumns().get_Item(0).setTextFormat(portionFormat);
// Nastaví zarovnání textu a pravý okraj buněk v prvním sloupci jedním voláním
ParagraphFormat paragraphFormat = new ParagraphFormat();
paragraphFormat.setAlignment(TextAlignment.Right);
paragraphFormat.setMarginRight(20);
someTable.getColumns().get_Item(0).setTextFormat(paragraphFormat);
// Nastaví vertikální typ textu buněk ve druhém sloupci
TextFrameFormat textFrameFormat = new TextFrameFormat();
textFrameFormat.setTextVerticalType(TextVerticalType.Vertical);
someTable.getColumns().get_Item(1).setTextFormat(textFrameFormat);
pres.save("result.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Získat vlastnosti stylu tabulky
Aspose.Slides umožňuje získat vlastnosti stylu tabulky, abyste je mohli použít pro jinou tabulku nebo jinde. Tento Java kód ukazuje, jak získat vlastnosti stylu z přednastaveného stylu tabulky:
Presentation pres = new Presentation();
try {
ITable table = pres.getSlides().get_Item(0).getShapes().addTable(10, 10, new double[] { 100, 150 }, new double[] { 5, 5, 5 });
table.setStylePreset(TableStylePreset.DarkStyle1); // změnit výchozí přednastavený styl motivu
pres.save("table.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Často kladené otázky
Mohu na již vytvořenou tabulku použít motivy/styly PowerPointu?
Ano. Tabulka dědí motiv snímku/podkladu/mistra a můžete nad tím motivem stále přepsat výplně, okraje a barvy textu.
Mohu řadit řádky tabulky jako v Excelu?
Ne, tabulky Aspose.Slides nemají vestavěné řazení ani filtry. Nejprve seřaďte data v paměti a poté znovu naplňte řádky tabulky v tom pořadí.
Mohu mít pruhované (striped) sloupce a zároveň zachovat vlastní barvy v konkrétních buňkách?
Ano. Zapněte pruhované sloupce a poté přepište konkrétní buňky lokálním formátováním; formátování na úrovni buňky má přednost před stylem tabulky.