Zarządzanie wierszami i kolumnami w tabelach PowerPoint przy użyciu JavaScript
Wprowadzenie
Aby umożliwić zarządzanie wierszami i kolumnami tabeli w prezentacji PowerPoint, Aspose.Slides udostępnia klasę Table oraz inne typy.
Ustaw pierwszy wiersz jako nagłówek
- Utwórz instancję klasy Presentation i wczytaj prezentację.
- Uzyskaj odwołanie do slajdu za pomocą jego indeksu.
- Utwórz obiekt Table i ustaw go na null.
- Iteruj po wszystkich obiektach Shape w celu znalezienia odpowiedniej tabeli.
- Ustaw pierwszy wiersz tabeli jako jej nagłówek.
Ten kod JavaScript pokazuje, jak ustawić pierwszy wiersz tabeli jako jej nagłówek:
// Tworzy instancję klasy Presentation
var pres = new aspose.slides.Presentation("table.pptx");
try {
// Uzyskuje dostęp do pierwszego slajdu
var sld = pres.getSlides().get_Item(0);
// Inicjalizuje pustą TableEx
var tbl = null;
// Iteruje po kształtach i ustawia odwołanie do tabeli
for (let i = 0; i < sld.getShapes().size(); i++) {
let shp = sld.getShapes().get_Item(i);
if (java.instanceOf(shp, "com.aspose.slides.ITable")) {
tbl = shp;
// Ustawia pierwszy wiersz tabeli jako nagłówek
tbl.setFirstRow(true);
}
}
// Zapisuje prezentację na dysk
pres.save("pres.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
if (pres != null) {
pres.dispose();
}
}
Klonowanie wiersza lub kolumny tabeli
- Utwórz instancję klasy Presentation i wczytaj prezentację,
- Uzyskaj odwołanie do slajdu za pomocą jego indeksu.
- Zdefiniuj tablicę
columnWidth. - Zdefiniuj tablicę
rowHeight. - Dodaj obiekt Table do slajdu za pomocą metody addTable.
- Sklonuj wiersz tabeli.
- Sklonuj kolumnę tabeli.
- Zapisz zmodyfikowaną prezentację.
Ten kod JavaScript pokazuje, jak sklonować wiersz lub kolumnę tabeli PowerPoint:
// Tworzy instancję klasy Presentation
var pres = new aspose.slides.Presentation("Test.pptx");
try {
// Uzyskuje dostęp do pierwszego slajdu
var sld = pres.getSlides().get_Item(0);
// Definiuje kolumny z szerokościami i wiersze z wysokościami
var dblCols = java.newArray("double", [50, 50, 50]);
var dblRows = java.newArray("double", [50, 30, 30, 30, 30]);
// Dodaje kształt tabeli do slajdu
var table = sld.getShapes().addTable(100, 50, dblCols, dblRows);
// Dodaje tekst do komórki wiersza 1, komórki 1
table.get_Item(0, 0).getTextFrame().setText("Row 1 Cell 1");
// Dodaje tekst do komórki wiersza 1, komórki 2
table.get_Item(1, 0).getTextFrame().setText("Row 1 Cell 2");
// Klonuje wiersz 1 na koniec tabeli
table.getRows().addClone(table.getRows().get_Item(0), false);
// Dodaje tekst do komórki wiersza 2, komórki 1
table.get_Item(0, 1).getTextFrame().setText("Row 2 Cell 1");
// Dodaje tekst do komórki wiersza 2, komórki 2
table.get_Item(1, 1).getTextFrame().setText("Row 2 Cell 2");
// Klonuje wiersz 2 jako czwarty wiersz tabeli
table.getRows().insertClone(3, table.getRows().get_Item(1), false);
// Klonuje pierwszą kolumnę na końcu
table.getColumns().addClone(table.getColumns().get_Item(0), false);
// Klonuje drugą kolumnę na indeksie czwartej kolumny
table.getColumns().insertClone(3, table.getColumns().get_Item(1), false);
// Zapisuje prezentację na dysk
pres.save("table_out.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
if (pres != null) {
pres.dispose();
}
}
Usuwanie wiersza lub kolumny z tabeli
- Utwórz instancję klasy Presentation i wczytaj prezentację,
- Uzyskaj odwołanie do slajdu za pomocą jego indeksu.
- Zdefiniuj tablicę
columnWidth. - Zdefiniuj tablicę
rowHeight. - Dodaj obiekt Table do slajdu za pomocą metody addTable.
- Usuń wiersz tabeli.
- Usuń kolumnę tabeli.
- Zapisz zmodyfikowaną prezentację.
Ten kod JavaScript pokazuje, jak usunąć wiersz lub kolumnę z tabeli:
var pres = new aspose.slides.Presentation();
try {
var slide = pres.getSlides().get_Item(0);
var colWidth = java.newArray("double", [100, 50, 30]);
var rowHeight = java.newArray("double", [30, 50, 30]);
var table = slide.getShapes().addTable(100, 100, colWidth, rowHeight);
table.getRows().removeAt(1, false);
table.getColumns().removeAt(1, false);
pres.save("TestTable_out.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
if (pres != null) {
pres.dispose();
}
}
Ustaw formatowanie tekstu na poziomie wiersza tabeli
- Utwórz instancję klasy Presentation i wczytaj prezentację,
- Uzyskaj odwołanie do slajdu za pomocą jego indeksu.
- Uzyskaj dostęp do odpowiedniego obiektu Table ze slajdu.
- Ustaw wysokość czcionki komórek pierwszego wiersza za pomocą setFontHeight(float value).
- Ustaw wyrównanie komórek pierwszego wiersza przy pomocy setAlignment(int value) oraz setMarginRight(float value).
- Ustaw typ pionowego tekstu komórek drugiego wiersza przy użyciu setTextVerticalType(byte value).
- Zapisz zmodyfikowaną prezentację.
Ten kod JavaScript demonstruje działanie.
// Tworzy instancję klasy Presentation
var pres = new aspose.slides.Presentation();
try {
// Załóżmy, że pierwszym kształtem na pierwszym slajdzie jest tabela
var someTable = pres.getSlides().get_Item(0).getShapes().get_Item(0);
// Ustawia wysokość czcionki komórek pierwszego wiersza
var portionFormat = new aspose.slides.PortionFormat();
portionFormat.setFontHeight(25);
someTable.getRows().get_Item(0).setTextFormat(portionFormat);
// Ustawia wyrównanie tekstu komórek pierwszego wiersza oraz prawy margines
var paragraphFormat = new aspose.slides.ParagraphFormat();
paragraphFormat.setAlignment(aspose.slides.TextAlignment.Right);
paragraphFormat.setMarginRight(20);
someTable.getRows().get_Item(0).setTextFormat(paragraphFormat);
// Ustawia pionowy typ tekstu komórek drugiego wiersza
var textFrameFormat = new aspose.slides.TextFrameFormat();
textFrameFormat.setTextVerticalType(aspose.slides.TextVerticalType.Vertical);
someTable.getRows().get_Item(1).setTextFormat(textFrameFormat);
// Zapisuje prezentację na dysk
pres.save("result.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
if (pres != null) {
pres.dispose();
}
}
Ustaw formatowanie tekstu na poziomie kolumny tabeli
- Utwórz instancję klasy Presentation i wczytaj prezentację,
- Uzyskaj odwołanie do slajdu za pomocą jego indeksu.
- Uzyskaj dostęp do odpowiedniego obiektu Table ze slajdu.
- Ustaw wysokość czcionki komórek pierwszej kolumny za pomocą setFontHeight(float value).
- Ustaw wyrównanie komórek pierwszej kolumny przy pomocy setAlignment(int value) oraz setMarginRight(float value).
- Ustaw typ pionowego tekstu komórek drugiej kolumny przy użyciu setTextVerticalType(byte value).
- Zapisz zmodyfikowaną prezentację.
Ten kod JavaScript demonstruje działanie:
// Tworzy instancję klasy Presentation
var pres = new aspose.slides.Presentation();
try {
// Załóżmy, że pierwszym kształtem na pierwszym slajdzie jest tabela
var someTable = pres.getSlides().get_Item(0).getShapes().get_Item(0);
// Ustawia wysokość czcionki komórek pierwszej kolumny
var portionFormat = new aspose.slides.PortionFormat();
portionFormat.setFontHeight(25);
someTable.getColumns().get_Item(0).setTextFormat(portionFormat);
// Ustawia wyrównanie tekstu komórek pierwszej kolumny oraz prawy margines w jednym wywołaniu
var paragraphFormat = new aspose.slides.ParagraphFormat();
paragraphFormat.setAlignment(aspose.slides.TextAlignment.Right);
paragraphFormat.setMarginRight(20);
someTable.getColumns().get_Item(0).setTextFormat(paragraphFormat);
// Ustawia pionowy typ tekstu komórek drugiej kolumny
var textFrameFormat = new aspose.slides.TextFrameFormat();
textFrameFormat.setTextVerticalType(aspose.slides.TextVerticalType.Vertical);
someTable.getColumns().get_Item(1).setTextFormat(textFrameFormat);
pres.save("result.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
if (pres != null) {
pres.dispose();
}
}
Pobierz właściwości stylu tabeli
Aspose.Slides pozwala pobrać właściwości stylu tabeli, aby można było użyć tych szczegółów w innej tabeli lub w innym miejscu. Ten kod JavaScript pokazuje, jak uzyskać właściwości stylu z predefiniowanego stylu tabeli:
var pres = new aspose.slides.Presentation();
try {
var table = pres.getSlides().get_Item(0).getShapes().addTable(10, 10, java.newArray("double", [100, 150]), java.newArray("double", [5, 5, 5]));
table.setStylePreset(aspose.slides.TableStylePreset.DarkStyle1);// zmień domyślny preset stylu motywu
pres.save("table.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
if (pres != null) {
pres.dispose();
}
}
FAQ
Czy mogę zastosować motywy/stylizacje PowerPoint do już utworzonej tabeli?
Tak. Tabela dziedziczy motyw slajdu/układu/master, a jednocześnie możesz nadpisać wypełnienia, obramowania i kolory tekstu na tym motywie.
Czy mogę sortować wiersze tabeli tak jak w Excelu?
Nie, tabele Aspose.Slides nie mają 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ć paskowane (prążkowane) kolumny, zachowując niestandardowe kolory w konkretnych komórkach?
Tak. Włącz paskowane kolumny, a następnie nadpisz konkretne komórki lokalnym formatowaniem; formatowanie na poziomie komórki ma pierwszeństwo przed stylem tabeli.