Utwórz tabelę
Aspose.Words umożliwia użytkownikom tworzenie tabel w dokumencie od podstaw i zapewnia kilka różnych metod. W tym artykule przedstawiono szczegółowe informacje na temat dodawania sformatowanych tabel do dokumentu przy użyciu każdej metody, a także porównanie każdej metody na końcu artykułu.
Domyślne Style Tabel
Nowo utworzonej tabeli podano wartości domyślne podobne do tych używanych w Microsoft Word:
Właściwość Tabeli | Default in Aspose.Words |
---|---|
Border Style |
Single |
Border Width |
1/2 pt |
Border Color |
Black |
Left and Right Padding |
5.4 pts |
AutoFit Mode |
AutoFit to Window |
Allow AutoFit |
True |
Utwórz tabelę za pomocą DocumentBuilder
W Aspose.Words Użytkownicy mogą utworzyć tabelę w dokumencie za pomocą DocumentBuilder. Podstawowy algorytm tworzenia tabeli jest następujący:
- Rozpocznij tabelę od StartTable
- Dodaj komórkę do tabeli za pomocą InsertCell - automatycznie uruchamia nowy wiersz
- Opcjonalnie użyj właściwości CellFormat, aby określić formatowanie komórki
- Wstaw zawartość komórki za pomocą odpowiednich metod DocumentBuilder, takich jak Writeln, InsertImage i inne
- Powtarzaj kroki 2-4, aż wiersz się zakończy
- Wywołaj EndRow, aby zakończyć bieżący wiersz
- Opcjonalnie użyj właściwości RowFormat, aby określić formatowanie wierszy
- Powtarzaj kroki 2-7, aż tabela będzie kompletna
- Zadzwoń do EndTable, aby zakończyć budowanie tabeli
Ważne szczegóły:
- StartTable można również wywołać wewnątrz komórki, w którym to przypadku rozpoczyna tworzenie zagnieżdżonej tabeli w komórce.
- Po wywołaniu InsertCell tworzona jest nowa komórka, a każda zawartość dodana przy użyciu innych metod klasy DocumentBuilder zostanie dodana do bieżącej komórki. Aby utworzyć nową komórkę w tym samym wierszu, zadzwoń ponownie InsertCell.
- Jeśli InsertCell zostanie wywołany natychmiast po EndRow i końcu wiersza, tabela będzie kontynuowana w nowym wierszu.
- Metoda EndTable kończąca tabelę powinna być wywołana tylko raz po wywołaniu EndRow. Wywołanie EndTable przesuwa kursor z bieżącej komórki do pozycji bezpośrednio za tabelą.
Proces tworzenia tabeli można wyraźnie zobaczyć na poniższym obrazku:
Poniższy przykład kodu pokazuje, jak utworzyć prostą tabelę przy użyciu DocumentBuilder z domyślnym formatowaniem:
Poniższy przykład kodu pokazuje, jak utworzyć sformatowaną tabelę przy użyciu DocumentBuilder:
Poniższy przykład kodu pokazuje, jak wstawić zagnieżdżoną tabelę za pomocą DocumentBuilder:
Utwórz tabelę za pomocą DOM (Document Object Model)
Tabele można wstawiać bezpośrednio do DOM, dodając nowy węzeł Table w określonej pozycji.
Należy pamiętać, że natychmiast po utworzeniu węzła tabeli sama tabela będzie całkowicie pusta, to znaczy nie zawiera jeszcze wierszy i komórek. Aby wstawić wiersze i komórki do tabeli, dodaj odpowiednie węzły potomne Row i Cell do DOM.
Poniższy przykład kodu pokazuje, jak zbudować nową tabelę od podstaw, dodając odpowiednie węzły podrzędne do drzewa dokumentów:
Utwórz tabelę z HTML
Aspose.Words obsługuje wstawianie treści do dokumentu ze źródła HTML przy użyciu metody InsertHtml. Dane wejściowe mogą być kompletną stroną HTML lub tylko częściowym fragmentem.
Korzystając z metody InsertHtml, użytkownicy mogą wstawiać tabele do dokumentu za pomocą tagów tabel, takich jak <table>
, <tr>
, <td>
.
Poniższy przykład kodu pokazuje, jak wstawić tabelę do dokumentu z ciągu zawierającego znaczniki HTML:
Wstawianie kopii istniejącej tabeli
Często zdarza się, że trzeba utworzyć tabelę na podstawie już istniejącej tabeli w dokumencie. Najłatwiejszym sposobem zduplikowania tabeli przy zachowaniu całego formatowania jest sklonowanie węzła tabeli przy użyciu metody Clone.
Tej samej techniki można użyć do dodania kopii istniejącego wiersza lub komórki do tabeli.
Poniższy przykład kodu pokazuje, jak zduplikować tabelę za pomocą konstruktorów węzłów:
Poniższy przykład kodu pokazuje, jak sklonować ostatni wiersz tabeli i dołączyć go do tabeli:
Jeśli szukasz tworzenia tabel w dokumencie, które rosną dynamicznie z każdym rekordem ze źródła danych, powyższa metoda nie jest zalecana. Zamiast tego pożądaną wydajność można łatwiej osiągnąć za pomocą Mail merge z regionami. Możesz dowiedzieć się więcej o tej technice w Mail Merge z regionami sekcji.
Porównaj sposoby tworzenia tabeli
Aspose.Words udostępnia kilka metod tworzenia nowych tabel w dokumencie. Każda metoda ma swoje zalety i wady, więc wybór, którego użyć, często zależy od konkretnej sytuacji.
Przyjrzyjmy się bliżej tym sposobom tworzenia tabel i porównajmy ich zalety i wady:
Metoda | Zalety | Wady |
---|---|---|
DocumentBuilder |
Standardowa metoda wstawiania tabel i innej zawartości dokumentu | Czasami trudno jest stworzyć wiele odmian tabel jednocześnie z tą samą instancją builder |
Via DOM | Lepiej pasuje do otaczającego kodu, który tworzy i wstawia węzły bezpośrednio do DOM bez użycia DocumentBuilder | Tabela jest tworzona “pusta”: przed wykonaniem większości operacji należy wywołać EnsureMinimum, aby utworzyć brakujące węzły podrzędne |
Od HTML | Może utworzyć nową tabelę ze źródła HTML przy użyciu tagów takich jak <table> , <tr> , <td> |
Nie wszystkie możliwe formaty tabeli Microsoft Word można zastosować do HTML |
Klonowanie istniejącej tabeli | Możesz utworzyć kopię istniejącej tabeli, zachowując wszystkie formatowanie wierszy i komórek | Odpowiednie węzły podrzędne muszą zostać usunięte, zanim tabela będzie gotowa do użycia |