Zastosuj Formatowanie

Każdy element tabeli można zastosować z innym formatowaniem. Na przykład formatowanie tabeli zostanie zastosowane do całej tabeli, formatowanie wierszy tylko do określonych wierszy, Formatowanie komórek tylko do niektórych komórek.

Aspose.Words zapewnia bogaty API do pobierania i stosowania formatowania do tabeli. Do ustawienia formatowania można użyć węzłów Table, RowFormat i CellFormat.

W tym artykule porozmawiamy o tym, jak zastosować formatowanie do różnych węzłów tabeli i jakie ustawienia formatowania tabeli obsługują Aspose.Words.

Zastosuj formatowanie do różnych węzłów

W tej sekcji przyjrzymy się zastosowaniu formatowania do różnych węzłów tabeli.

Formatowanie Poziomu Tabeli

Aby zastosować formatowanie do tabeli, możesz użyć właściwości dostępnych w odpowiednim węźle Table przy użyciu klas Table, PreferredWidth i TableCollection.

Poniższe zdjęcia przedstawiają reprezentację funkcji formatowania Table w Microsoft Word i odpowiadających im właściwości w Aspose.Words.

formattin-features-table-level-aspose-words-cpp

formatting-table-options-aspose-words-cpp

Poniższy przykład kodu pokazuje, jak zastosować obramowanie konturu do tabeli:

Poniższy przykład kodu pokazuje, jak zbudować tabelę z włączonymi wszystkimi obramowaniami (siatka):

Formatowanie Na Poziomie Wiersza

Poziom rzędu

Poniższe zdjęcia przedstawiają reprezentację funkcji formatowania Row w Microsoft Word i odpowiadających im właściwości w Aspose.Words.

formatting-row-level-aspose-words-cpp

Poniższy przykład kodu pokazuje, jak zmodyfikować formatowanie wiersza tabeli:

Formatowanie Na Poziomie Komórki

Formatowanie na poziomie komórki jest kontrolowane przez klasy Cell, CellFormat i CellCollection.

Poniższe zdjęcia przedstawiają reprezentację funkcji formatowania Cell w Microsoft Word i odpowiadających im właściwości w Aspose.Words.

formatting-cell-level-aspose-words-cpp

auto-formatting-cell-level-aspose-words-cpp

Poniższy przykład kodu pokazuje, jak zmodyfikować formatowanie komórki tabeli:

Poniższy przykład kodu pokazuje, jak ustawić ilość miejsca (w punktach), aby dodać do lewej / górnej / prawej / dolnej części zawartości komórki:

Określ Wysokości Wierszy

Najprostszym sposobem ustawienia wysokości wiersza jest użycie DocumentBuilder. Korzystając z odpowiednich właściwości RowFormat, możesz ustawić domyślne ustawienie wysokości lub zastosować inną wysokość dla każdego wiersza w tabeli.

W Aspose.Words wysokość wiersza tabeli jest kontrolowana przez:

  • właściwość row height - Height
  • właściwość reguła wysokości dla danego wiersza - HeightRule

Jednocześnie dla każdego rzędu można ustawić inną wysokość-pozwala to na szerokie sterowanie ustawieniami stołu.

Poniższy przykład kodu pokazuje, jak utworzyć tabelę zawierającą pojedynczą komórkę i zastosować formatowanie wiersza:

Określanie szerokości tabel i komórek

Tabela w dokumencie Microsoft Word udostępnia kilka różnych sposobów zmiany rozmiaru tabeli i poszczególnych komórek. Te właściwości pozwalają na znaczną kontrolę nad wyglądem i zachowaniem tabeli, tak że Aspose.Words obsługuje zachowanie tabel, jak w Microsoft Word.

Ważne jest, aby wiedzieć, że elementy tabeli mają kilka różnych właściwości, które mogą wpływać na sposób obliczania szerokości całej tabeli, a także poszczególnych komórek:

  • Preferowana szerokość na stole
  • Preferowana szerokość na poszczególnych komórkach
  • Umożliwienie automatycznego dopasowania na stole

W tym artykule szczegółowo opisano, jak działają różne właściwości obliczania szerokości tabeli i jak uzyskać pełną kontrolę nad obliczaniem szerokości tabeli. To jest szczególnie przydatne, aby wiedzieć w takich przypadkach, w których układ tabeli nie pojawia się zgodnie z oczekiwaniami.

Jak korzystać z preferowanej szerokości

Pożądana szerokość tabeli lub pojedynczych komórek jest definiowana za pomocą właściwości preferred width, czyli rozmiaru, który element stara się dopasować. Oznacza to, że preferowaną szerokość można określić dla całej tabeli lub dla poszczególnych komórek. W niektórych sytuacjach dokładne dopasowanie tej szerokości może nie być możliwe, ale w większości przypadków rzeczywista szerokość będzie zbliżona do tej wartości.

Odpowiedni preferowany typ szerokości i wartość są ustawiane przy użyciu metod klasy PreferredWidth:

  • metoda Auto określająca auto lub “brak preferowanej szerokości”
  • metoda FromPercent określająca szerokość procentową
  • metoda FromPoints określająca szerokość w punktach

Poniższe zdjęcia przedstawiają reprezentację preferred width setting features W Microsoft Word i odpowiadające im właściwości w Aspose.Words.

formatting-table-properties-aspose-words-cpp

Przykład zastosowania tych opcji do rzeczywistej tabeli w dokumencie można zobaczyć na poniższym obrazku.

todo:image_alt_text

Określ preferowaną szerokość tabeli lub komórki

W Aspose.Words szerokości tabeli i komórek są ustawiane przy użyciu właściwości Table.PreferredWidth i właściwości CellFormat.PreferredWidth, z opcjami dostępnymi w wyliczeniu PreferredWidthType:

  • Auto, co jest równoważne żadnemu preferowanemu zestawowi szerokości
  • Percent, który pasuje do elementu względem dostępnego miejsca w oknie lub rozmiarze kontenera i ponownie oblicza wartość, gdy zmienia się dostępna szerokość
  • Points, który odpowiada elementowi o określonej szerokości w punktach

Użycie właściwości Table.PreferredWidth spowoduje dostosowanie jej preferowanej szerokości względem kontenera: strony, kolumny tekstu lub zewnętrznej komórki tabeli, jeśli jest to tabela zagnieżdżona.

Poniższy przykład kodu pokazuje, jak ustawić tabelę na automatyczne dopasowanie do 50% szerokości strony:

Użycie właściwości CellFormat.PreferredWidth w danej komórce dostosuje jej preferowaną szerokość.

Poniższy przykład kodu pokazuje, jak ustawić różne preferowane ustawienia szerokości:

Znajdź preferowany typ szerokości i wartość

Możesz użyć właściwości Type i Value, aby znaleźć preferowane szczegóły szerokości żądanej tabeli lub komórki.

Poniższy przykład kodu pokazuje, jak pobrać preferowany typ szerokości komórki tabeli:

Jak ustawić Autofit

Właściwość AllowAutoFit pozwala komórkom w tabeli rosnąć i kurczyć się zgodnie z wybranym kryterium. Na przykład możesz użyć opcji AutoFit to Window, aby dopasować tabelę do szerokości strony, a opcji AutoFit to Content, aby umożliwić wzrost lub kurczenie się każdej komórki zgodnie z jej zawartością.

Domyślnie Aspose.Words wstawia nową tabelę za pomocą AutoFit to Window. Tabela będzie dopasowana do dostępnej szerokości strony. Aby zmienić rozmiar tabeli, możesz wywołać metodę AutoFit. Ta metoda akceptuje wyliczenie AutoFitBehavior, które określa, jaki typ autofit jest stosowany do tabeli.

Ważne jest, aby wiedzieć, że metoda autofit jest w rzeczywistości skrótem, który stosuje różne właściwości do tabeli w tym samym czasie. Są to właściwości, które faktycznie nadają tabeli obserwowane zachowanie. Omówimy te właściwości dla każdej opcji autofit.

Poniższy przykład kodu pokazuje, jak ustawić tabelę, aby zmniejszyć lub powiększyć każdą komórkę zgodnie z jej zawartością:

AutoFit tabela do okna

Po zastosowaniu automatycznego dopasowania do okna do tabeli, następujące operacje są faktycznie wykonywane za kulisami:

  1. Właściwość Table.AllowAutoFit umożliwia automatyczną zmianę rozmiaru kolumn w celu dopasowania do dostępnej zawartości przy użyciu wartości Table.PreferredWidth równej 100%
  2. CellFormat.PreferredWidth jest usuwany ze wszystkich komórek tabeli
  3. Szerokości kolumn są ponownie obliczane dla bieżącej zawartości tabeli - wynikiem końcowym jest tabela zajmująca całą dostępną szerokość
  4. Szerokość kolumn w tabeli zmienia się automatycznie, gdy użytkownik edytuje tekst

Poniższy przykład kodu pokazuje, jak automatycznie dopasować tabelę do szerokości strony:

AutoFit tabela do treści

Gdy tabela jest automatycznie ustawiana zawartość, następujące kroki są faktycznie wykonywane za kulisami:

  1. Właściwość Table.AllowAutoFit umożliwia automatyczną zmianę rozmiaru każdej komórki zgodnie z jej zawartością

  2. Preferowana szerokość tabeli jest usuwana z Table.PreferredWidth, CellFormat.PreferredWidth jest usuwana dla każdej komórki tabeli

  3. Szerokości kolumn są ponownie obliczane dla bieżącej zawartości tabeli - wynikiem końcowym jest tabela, w której szerokość kolumn i szerokość całej tabeli są automatycznie zmieniane, aby jak najlepiej pasowały do treści, gdy użytkownik edytuje tekst

Poniższy przykład kodu pokazuje, jak automatycznie dopasować tabelę do jej zawartości:

Wyłącz AutoFit w tabeli i użyj stałych szerokości kolumn

Jeśli tabela ma wyłączone autofit i zamiast tego używane są stałe szerokości kolumn, wykonywane są następujące kroki:

  1. Table.AllowAutoFit właściwość jest wyłączona, więc kolumny nie rosną ani nie kurczą się do ich zawartości
  2. Preferowana szerokość całej tabeli jest usuwana z Table.PreferredWidth, CellFormat.PreferredWidth jest usuwana ze wszystkich komórek tabeli
  3. Wynikiem końcowym jest tabela, której szerokości kolumn są określone przez właściwość CellFormat.Width i której rozmiar kolumn nie jest automatycznie zmieniany, gdy użytkownik wprowadza tekst lub gdy strona jest zmieniana

Poniższy przykład kodu pokazuje, jak wyłączyć autofit i włączyć stałą szerokość dla określonej tabeli:

Kolejność pierwszeństwa przy obliczaniu szerokości komórki

Aspose.Words umożliwia użytkownikom definiowanie szerokości tabeli lub komórki za pomocą wielu obiektów, w tym CellFormat – jego właściwość Width jest w większości pozostawiona z poprzednich wersji, jednak nadal jest przydatna do uproszczenia ustawiania szerokości komórki.

Ważne jest, aby wiedzieć, że właściwość CellFormat.Width działa inaczej w zależności od tego, która z innych właściwości szerokości już istnieje w tabeli.

Aspose.Words używa następującej kolejności do obliczania szerokości komórek:

Zamówienie Nieruchomości Opis
AllowAutoFit jest określona Jeśli AutoFit jest włączony:
- tabela może przekroczyć preferowaną szerokość, aby pomieścić zawartość-zwykle nie kurczy się poniżej preferowanej szerokości
- każda zmiana wartości CellFormat.Width jest ignorowana, a komórka będzie pasować do jej zawartości
PreferredWidthType o wartości Points lub Percent CellFormat.Width jest ignorowany
PreferredWidthType o wartości Auto Wartość z CellFormat.Width jest kopiowana i staje się preferowaną szerokością komórki (w punktach)

Zezwalaj Na Odstępy Między Komórkami

Możesz uzyskać lub ustawić dowolną dodatkową przestrzeń między komórkami tabeli podobną do opcji" odstępy między komórkami " w Microsoft Word. Można to zrobić za pomocą właściwości AllowCellSpacing.

Przykład zastosowania tych opcji do rzeczywistej tabeli w dokumencie można zobaczyć na poniższym obrazku.

formatting-spacing-between-cells-aspose-words-cpp

Poniższy przykład kodu pokazuje, jak ustawić odstępy między komórkami:

Zastosuj obramowania i cieniowanie

Obramowania i cieniowanie można zastosować do całej tabeli za pomocą Table.SetBorder, Table.SetBorders i Table.SetShading lub tylko do określonych komórek za pomocą CellFormat.Borders i CellFormat.Shading. Dodatkowo granice wierszy można ustawić za pomocą RowFormat.Borders, jednak cieniowanie nie może być stosowane w ten sposób.

Poniższe zdjęcia pokazują ustawienia obramowania i cienia w Microsoft Word i odpowiadające im właściwości w Aspose.Words.

formatting-border-line-aspose-words-cpp

formatting-cell-color-aspose-words-cpp

Poniższy przykład kodu pokazuje, jak sformatować tabelę I komórkę z różnymi obramowaniami i cieniami: