Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Czasami niektóre wiersze w tabeli wymagają nagłówka lub dużych bloków tekstu, które zajmują pełną szerokość tabeli. W celu prawidłowego zaprojektowania tabeli użytkownik może połączyć kilka komórek tabeli w jedną. Aspose.Words obsługuje scalone komórki podczas pracy ze wszystkimi formatami wejściowymi, w tym importowanie zawartości HTML.
W Aspose.Words scalone komórki są reprezentowane przez następujące właściwości klasy CellFormat:
Wartości tych właściwości określają zachowanie scalania komórek:
Aby sprawdzić, czy komórka jest częścią sekwencji scalonych komórek, po prostu sprawdzamy właściwości HorizontalMerge i VerticalMerge.
Poniższy przykład kodu pokazuje, jak Wydrukować Typ scalania komórek poziomych i pionowych:
Aby scalić komórki w tabeli utworzonej za pomocą DocumentBuilder, musisz ustawić odpowiedni typ scalania dla każdej komórki, w której oczekuje się scalania – najpierw CellMerge.First, a następnie CellMerge.Previous.
Należy również pamiętać o wyczyszczeniu ustawienia scalania dla tych komórek, w których nie jest wymagane scalanie – można to zrobić, ustawiając pierwszą komórkę bez scalania na CellMerge.None. Jeśli nie zostanie to zrobione, wszystkie komórki w tabeli zostaną scalone.
Poniższy przykład kodu pokazuje, jak utworzyć tabelę z dwoma wierszami, w których komórki w pierwszym wierszu są scalane poziomo:
Poniższy przykład kodu pokazuje, jak utworzyć tabelę dwukolumnową, w której komórki w pierwszej kolumnie są scalane pionowo:
W innych sytuacjach, w których DocumentBuilder nie jest używany, na przykład w istniejącej tabeli, scalanie 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 scalania do komórek w metodę, która znacznie ułatwia zadanie. Ta metoda jest podobna do metody automatyzacji scalania, która jest wywoływana w celu scalenia zakresu 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 komórce końcowej. W takim przypadku zakres może obejmować wiele wierszy lub kolumn:
Poniższy przykład kodu pokazuje, jak scalić zakres komórek między dwiema określonymi komórkami:
W zależności od używanej wersji frameworka możesz udoskonalić tę metodę, przekształcając ją w metodę rozszerzenia. W takim przypadku możesz wywołać tę metodę bezpośrednio w komórce, aby scalić zakres komórek, na przykład cell1.Merge(cell2).
Jak powiedzieliśmy w poprzednich artykułach, tabela w Microsoft Word jest zbiorem niezależnych wierszy. Każdy wiersz ma zestaw komórek, które są niezależne od komórek innych wierszy. Tak więc w tabeli Microsoft Word nie ma takiego obiektu jak “Kolumna”, a “pierwsza kolumna” to coś w rodzaju “zestawu pierwszych komórek każdego wiersza w tabeli”. Pozwala to użytkownikom mieć tabelę, w której na przykład pierwszy rząd składa się z dwóch komórek – 2 cm i 1 cm, a drugi rząd składa się z dwóch różnych komórek – 1 cm i 2 cm szerokości. I Aspose.Words obsługuje tę koncepcję tabel.
Tabela w HTML ma zasadniczo inną strukturę: każdy wiersz ma taką samą liczbę komórek i (jest to ważne dla zadania) każda komórka ma szerokość odpowiedniej kolumny, taką samą dla wszystkich komórek w jednej kolumnie. Jeśli więc HorizontalMerge i VerticalMerge zwrócą niepoprawną wartość, użyj następującego przykładu kodu:
Czasami nie jest możliwe wykrycie, które komórki są scalane, ponieważ niektóre nowsze wersje Microsoft Word nie używają już FLAG scalania, gdy komórki są scalane poziomo. Ale w sytuacjach, w których komórki są scalane w komórkę poziomo według ich szerokości za pomocą flag scalania, Aspose.Words zapewnia ConvertToHorizontallyMergedCells metoda konwersji komórek. Ta metoda po prostu przekształca 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.