Utwórz tabelę
Aspose.Words umożliwia użytkownikom tworzenie tabel w dokumencie od podstaw i udostępnia kilka różnych metod, aby to zrobić. 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 tabeli
Nowo utworzona tabela otrzymuje wartości domyślne podobne do tych używanych w Microsoft Word:
Właściwość tabeli | Domyślnie w 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ą tworzyć tabele w dokumencie za pomocą DocumentBuilder. Podstawowy algorytm tworzenia tabeli jest następujący:
- Uruchom tabelę za pomocą StartTable
- Dodaj komórkę do tabeli za pomocą InsertCell – spowoduje to automatyczne rozpoczęcie nowego wiersza
- Opcjonalnie użyj właściwości CellFormat, aby określić formatowanie komórki
- Wstaw zawartość komórki, korzystając z odpowiednich metod DocumentBuilder, takich jak Writeln, InsertImage i inne
- Powtarzaj kroki 2-4, aż rząd będzie kompletny
- 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ć tworzenie tabeli
Ważne szczegóły:
- StartTable można także wywołać wewnątrz komórki i w takim przypadku rozpoczyna on tworzenie zagnieżdżonej tabeli w komórce.
- Po wywołaniu InsertCell tworzona jest nowa komórka, a wszelka treść dodana przy użyciu innych metod klasy DocumentBuilder zostanie dodana do bieżącej komórki. Aby utworzyć nową komórkę w tym samym wierszu, wywołaj ponownie InsertCell.
- Jeśli InsertCell zostanie wywołany bezpośrednio po EndRow i na końcu wiersza, tabela będzie kontynuowana w nowym wierszu.
- Metodę EndTable kończącą tabelę należy wywołać 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 formatu DocumentBuilder z domyślnym formatowaniem:
Poniższy przykład kodu pokazuje, jak utworzyć sformatowaną tabelę za pomocą narzędzia DocumentBuilder:
Poniższy przykład kodu pokazuje, jak wstawić zagnieżdżoną tabelę za pomocą narzędzia DocumentBuilder:
Utwórz tabelę za pomocą DOM (Document Object Model)
Możesz wstawiać tabele bezpośrednio do DOM, dodając nowy węzeł Table w określonej pozycji.
Należy pamiętać, że zaraz po utworzeniu węzła tabeli sama tabela będzie całkowicie pusta, czyli nie będzie jeszcze zawierać wierszy i komórek. Aby wstawić wiersze i komórki do tabeli, dodaj odpowiednie węzły podrzędne Row i Cell do pliku DOM.
Poniższy przykład kodu pokazuje, jak zbudować od podstaw nową tabelę, dodając odpowiednie węzły podrzędne do drzewa dokumentu:
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ą znacznikó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:
Wstaw kopię istniejącej tabeli
Często zdarza się, że trzeba utworzyć tabelę w oparciu o tabelę już istniejącą w dokumencie. Najłatwiejszym sposobem powielenia 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 powielić 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 planujesz utworzyć w dokumencie tabele, które rosną dynamicznie wraz z każdym rekordem ze źródła danych, powyższa metoda nie jest zalecana. Zamiast tego żądany wynik można łatwiej osiągnąć, używając Mail merge z regionami. Więcej o tej technice możesz dowiedzieć się w dziale Mail Merge z regionami.
Porównaj sposoby tworzenia tabeli
Aspose.Words udostępnia kilka metod tworzenia nowych tabel w dokumencie. Każda metoda ma swoje zalety i wady, dlatego wybór często zależy od konkretnej sytuacji.
Przyjrzyjmy się bliżej tym sposobom tworzenia tabel i porównajmy ich zalety i wady:
metoda | Zalety | Niedogodności |
---|---|---|
Za pośrednictwem DocumentBuilder |
Standardowa metoda wstawiania tabel i innej zawartości dokumentu | Czasami trudno jest utworzyć wiele odmian tabel jednocześnie za pomocą tej samej instancji konstruktora |
Za pośrednictwem 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 jako “pusta”: przed wykonaniem większości operacji należy wywołać EnsureMinimum, aby utworzyć brakujące węzły podrzędne |
Z HTMLa | Można utworzyć nową tabelę ze źródła HTML przy użyciu tagów takich jak <table> , <tr> , <td> |
Nie wszystkie możliwe formaty tabel Microsoft Word można zastosować do HTML |
Klonowanie istniejącej tabeli | Można utworzyć kopię istniejącej tabeli, zachowując całe formatowanie wierszy i komórek | Zanim tabela będzie gotowa do użycia, należy usunąć odpowiednie węzły podrzędne |