Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Czasami pewne wiersze w tabeli wymagają nagłówka lub dużych bloków tekstu, które zajmują pełną szerokość tabeli. Dla prawidłowego projektowania tabeli, użytkownik może połączyć kilka komórek tabeli w jeden. Aspose.Words obsługuje połączone komórki podczas pracy ze wszystkimi formatami wejściowymi, w tym importując zawartość HTML.
W Aspose.Words, Komórki połączone są reprezentowane przez następujące właściwości CellFormat klasa:
Wartości tych właściwości decydują o łączeniu zachowania komórek:

Aby sprawdzić, czy komórka jest częścią sekwencji połączonych komórek, po prostu sprawdzić HorizontalMerge oraz VerticalMerge nieruchomości.
Poniższy przykład kodu pokazuje jak wydrukować typ połączenia poziomego i pionowego:
Aby połączyć komórki w tabeli utworzonej z DocumentBuilder, musisz ustawić odpowiedni typ połączenia dla każdej komórki, w której oczekuje się połączenia - najpierw CellMerge.First i wtedy CellMerge.Previous.
Należy również pamiętać, aby wyczyścić ustawienie połączenia dla tych komórek, w których nie jest wymagane połączenie - można to zrobić poprzez ustawienie pierwszej komórki nie-połączenia do CellMerge.None. Jeśli nie zostanie to zrobione, wszystkie komórki w tabeli zostaną połączone.
Poniższy przykład kodu pokazuje, jak stworzyć tabelę z dwoma wierszami, gdzie komórki w pierwszym wierszu są łączone poziomo:
Poniższy przykład kodu pokazuje jak stworzyć tabelę dwukolumnową, gdzie komórki w pierwszej kolumnie są połączone pionowo:
W innych sytuacjach DocumentBuilder nie jest stosowany, jak w istniejącej tabeli, łączenie komórek w poprzedni sposób może nie być tak łatwe. Zamiast tego, możemy zawinąć podstawowe operacje związane z zastosowaniem właściwości łączenia do komórek w sposób, który znacznie ułatwia zadanie. Metoda ta jest podobna do metody automatyzacji połączeń, która jest wywoływana do łączenia szeregu komórek w tabeli.
Poniższy kod połączy komórki tabeli w określonym zakresie, zaczynając od danej komórki i kończąc na końcowej komórce. W tym przypadku zakres może obejmować wiele wierszy lub kolumn:
Poniższy przykład kodu pokazuje jak połączyć szereg komórek pomiędzy dwoma określonymi komórkami:
Jak już mówiliśmy w poprzednich artykułach, tabela w Microsoft Word jest zbiorem niezależnych wierszy. Każdy wiersz posiada zbiór komórek niezależnych od komórek innych wierszy. Tak więc, w Microsoft Word tabeli nie ma takiego obiektu jak “kolumna”, a “pierwsza kolumna” jest czymś w rodzaju “zbiór 1 komórek każdego wiersza w tabeli”. Pozwala to użytkownikom na posiadanie tabeli, w której na przykład pierwszy rząd składa się z dwóch komórek - 2cm i 1cm, a drugi rząd składa się z dwóch różnych komórek - 1cm i 2cm szerokości. I Aspose.Words wspiera tę koncepcję tabel.
Tabela w HTML ma zasadniczo inną strukturę: każdy wiersz ma taką samą liczbę komórek i (ważne jest dla zadania) każda komórka ma szerokość odpowiedniej kolumny, taką samą dla wszystkich komórek w jednej kolumnie. Więc jeśli HorizontalMerge oraz VerticalMerge zwraca nieprawidłową wartość, użyj następującego przykładu kodu:
Czasami nie jest możliwe wykrycie, które komórki są połączone, ponieważ niektóre nowsze wersje Microsoft Word nie używać flag połączenia, gdy komórki są łączone poziomo. Ale w sytuacjach, gdy komórki są łączone poziomo przez ich szerokość za pomocą flag łączących, Aspose.Words zapewnia ConvertToHorizontallyMergedCells metoda konwersji komórek. Metoda ta po prostu zmienia tabelę i dodaje nowe komórki w razie potrzeby.
Poniższy przykład kodu pokazuje powyższą metodę w działaniu:
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.