Zastosuj formatowanie tabeli

Każdy element tabeli może być zastosowany z innym formatowaniem. Na przykład, formatowanie tabeli będzie stosowane do całej tabeli, wiersz formatowanie tylko do poszczególnych wierszy, formatowanie komórek do tylko niektórych komórek.

Aspose.Words zapewnia bogaty API odzyskać i zastosować formatowanie do stołu. Można użyć Table, RowFormat, oraz CellFormat węzły do ustawiania formatowania.

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

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

W tej sekcji, będziemy patrzeć na stosowanie formatowania do różnych węzłów tabeli.

Formatowanie poziomu tabeli

Aby zastosować formatowanie do tabeli można użyć właściwości dostępnych na odpowiedniej Table węzeł Table, PreferredWidth, oraz TableCollection zajęcia.

Poniższe zdjęcia przedstawiają reprezentację Table formatowanie funkcji w Microsoft Word i ich właściwości w Aspose.Words.

apply-formatting-to-table-level-aspose-words-java

apply-formatting-to-table-level-aspose-words-java

Poniższy przykład kodu pokazuje, w jaki sposób zastosować obrysową granicę do tabeli:

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

Formatowanie wiersza

Row- level * * formatowanie może być kontrolowane za pomocą Row, RowFormat, oraz RowCollection zajęcia.

Poniższe zdjęcia przedstawiają reprezentację Row formatowanie funkcji w Microsoft Word i ich właściwości w Aspose.Words.

apply-formatting-to-row-level-aspose-words-java

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

Formatowanie poziomu komórki

Formatowanie na poziomie komórkowym jest kontrolowane przez Cell, CellFormat, oraz CellCollection zajęcia.

Poniższe zdjęcia przedstawiają reprezentację Cell formatowanie funkcji w Microsoft Word i ich właściwości w Aspose.Words.

apply-formatting-to-cell-level-aspose-words-java

apply-auto-formatting-to-row-level-aspose-words-java

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

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

Określanie wysokości wiersza

Najprostszym sposobem ustawienia wysokości wiersza jest użycie DocumentBuilder. Stosowanie odpowiednich RowFormat właściwości, można ustawić domyślną wysokość ustawienia lub zastosować inną wysokość dla każdego wiersza tabeli.

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

  • właściwość wysokości wiersza - Height
  • właściwość zasady wysokości dla danego wiersza - HeightRule

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

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

Określ szerokość tablicy i komórki

Stół w Microsoft Word dokument zawiera kilka różnych sposobów zmiany rozmiaru tabeli i poszczególnych komórek. Właściwości te pozwalają na znaczną kontrolę nad wyglądem i zachowaniem tabeli, tak, że Aspose.Words wspiera zachowanie tabel, jak w Microsoft Word.

Ważne jest, aby wiedzieć, że elementy tabeli przedstawiają kilka różnych właściwości, które mogą mieć wpływ na sposób obliczania szerokości całkowitej tabeli, jak również poszczególnych komórek:

  • Preferowana szerokość na stole
  • Preferowana szerokość poszczególnych komórek
  • Dopuszczenie autofit na stole

Ten artykuł szczegółowo określa, jak różne właściwości obliczania szerokości tabeli i jak uzyskać pełną kontrolę nad obliczeniem szerokości tabeli. To jest.. szczególnie przydatne, aby wiedzieć w takich przypadkach, gdy układ tabeli nie wydaje się tak, jak oczekiwano.

Jak stosować preferowaną szerokość

Pożądana szerokość tabeli lub poszczególnych komórek jest zdefiniowana poprzez preferowaną właściwość szerokości, która jest wielkością, którą 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 może nie być możliwe dopasowanie tej szerokości dokładnie, ale rzeczywista szerokość będzie w większości przypadków zbliżona do tej wartości.

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

  • Auto pole, aby określić auto lub “brak preferowanej szerokości”
  • FromPercent metoda określania szerokości procentowej
  • FromPoints metoda określania szerokości punktów

Poniższe zdjęcia pokazują reprezentację * preferowanych funkcji ustawienia szerokości * w Microsoft Word i ich właściwości w Aspose.Words.

formatting-table-properties-aspose-words-java

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

table-applied-options-java

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

W Aspose.Words, szerokość tabel i komórek są ustawione za pomocą Table.PreferredWidth nieruchomości i CellFormat.PreferredWidth właściwość, z opcji dostępnych w PreferredWidthType wyliczenie:

  • Auto, która jest równoważna nieustawieniu preferowanej szerokości
  • Percent, która pasuje do elementu w stosunku do dostępnej przestrzeni w oknie lub wielkości pojemnika i ponownie oblicza wartość, gdy dostępna szerokość zmienia
  • Points, która odpowiada elementowi określonej szerokości w punktach

Korzystanie z Table.PreferredWidth właściwość będzie dostosowywać swoją preferowaną szerokość względem pojemnika: strona, kolumna tekstowa lub zewnętrzna komórka tabeli, jeśli jest to zagnieżdżona tabela.

Poniższy przykład kodu pokazuje jak ustawić tabelę do auto- dopasować do 50% szerokości strony:

Korzystanie z CellFormat.PreferredWidth właściwość na danej komórce dostosowuje preferowaną szerokość.

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

Znajdź preferowany typ szerokości i wartość

Można użyć Type oraz Value właściwości, aby znaleźć preferowaną szerokość szczegóły pożądanej tabeli lub komórki.

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

Jak ustawić Autofit

W AllowAutoFit właściwość pozwala komórkom w tabeli rosnąć i kurczyć się zgodnie z wybranym kryterium. Na przykład, można użyć AutoFit do okna możliwość dopasowania tabeli do szerokości strony, AutoFit do zawartości opcja pozwalająca każdej komórce rosnąć lub kurczyć się w zależności od jej zawartości.

Domyślnie, Aspose.Words wstawia nową tabelę używając AutoFit do okna. Tabela będzie wielkości według dostępnej szerokości strony. Aby zmienić rozmiar tabeli, można zadzwonić do AutoFit Metoda. Ta metoda akceptuje AutoFitBehavior wyliczenie określające rodzaj autofitu stosowanego do tabeli.

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

Poniższy przykład kodu pokazuje, jak ustawić tabelę do zmniejszenia lub wzrostu każdej komórki w zależności od jej zawartości:

Użyjemy poniższej tabeli do zastosowania różnych ustawień auto dopasowania jako demonstracja.

apply-different-autofit-settings-to-a-table-aspose-words-java

AutoFit Tabela do okna

Jeżeli automontaż do okna jest stosowany do tabeli, następujące operacje są rzeczywiście wykonywane za kulisami:

  1. W Table.AllowAutoFit właściwość może automatycznie zmieniać rozmiar kolumn, aby dopasować dostępną zawartość, używając Table.PreferredWidth wartość 100%
  2. CellFormat.PreferredWidth jest usuwany ze wszystkich komórek stołowych
  3. Szerokość kolumny jest ponownie obliczona dla bieżącej zawartości tabeli - wynik końcowy to tabela, która zajmuje 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:

Przykład zastosowania tych opcji do powyższej tabeli można zobaczyć na poniższym rysunku.

autofit-table-aspose-words-java

AutoFit Tabela do zawartości

Gdy tabela jest automatycznie wyposażona zawartość, następujące kroki są rzeczywiście wykonywane za kulisami:

  1. W Table.AllowAutoFit właściwość może automatycznie zmieniać rozmiar każdej komórki w zależności od jej zawartości

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

  3. Szerokości kolumn są ponownie obliczane dla bieżącej zawartości tabeli - wynik końcowy jest tabelą, w której szerokość kolumn i szerokość całej tabeli są automatycznie zmieniane, aby najlepiej dopasować zawartość, gdy użytkownik edytuje tekst

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

Przykład zastosowania tych opcji do powyższej tabeli można zobaczyć na poniższym rysunku.

resize-column-autofit-settings-aspose-words-java

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

Jeżeli zamiast tabeli autofit jest wyłączony i stosowane są stałe szerokości kolumn, wykonuje się następujące czynności:

  1. Table.AllowAutoFit właściwość jest wyłączona więc kolumny nie rosną lub kurczą się do ich zawartości
  2. Preferowana szerokość całej tabeli jest usuwana z Table.PreferredWidth, CellFormat.PreferredWidth jest usuwany ze wszystkich komórek stołowych
  3. Wynik końcowy to tabela, której szerokość kolumn jest określona przez CellFormat.Width właściwość, której kolumny nie są automatycznie zmieniane, 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:

Przykład zastosowania tych opcji do powyższej tabeli można zobaczyć na poniższym rysunku.

disable-autofit-settings-to-a-table-aspose-words-java

Kolejność precyzji przy obliczaniu szerokości komórki

Aspose.Words pozwala użytkownikom określić szerokość stołu lub komórki poprzez wiele obiektów, w tym CellFormat - Width właściwość jest w większości pozostawiona z poprzednich wersji, jednak jest ona nadal przydatna do uproszczenia ustawienia szerokości komórek.

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

Aspose.Words wykorzystuje następującą kolejność do obliczania szerokości komórek:

Kolejność Własność Opis
1 AllowAutoFit jest określony Jeśli AutoFit jest włączona:
- tabela może rosnąć poza preferowaną szerokość, aby pomieścić zawartość - zazwyczaj nie kurczy się poniżej preferowanej szerokości
- wszelkie zmiany CellFormat.Width wartość jest ignorowana i komórka będzie pasować do jej zawartości zamiast
2 PreferredWidthType o wartości Points lub Percent CellFormat.Width jest ignorowany
3 PreferredWidthType o wartości Auto Wartość z CellFormat.Width jest kopiowane i staje się preferowaną szerokością komórki (w punktach)

Pozwól na odstępy między komórkami

Można uzyskać lub ustawić dowolną dodatkową przestrzeń między komórkami tabeli podobną do opcji “Separacja” w Microsoft Word. Można to zrobić używając AllowCellSpacing nieruchomości.

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

formatting-spacing-between-cells-aspose-words-java

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

Zastosuj granice i cień

Granice i zacienienie mogą być stosowane albo do całej tabeli przy użyciu Table.SetBorder, Table.SetBorders oraz Table.SetShading, lub tylko do określonych komórek wykorzystujących CellFormat.Borders oraz CellFormat.Shading. Dodatkowo można ustawić granice wierszy za pomocą RowFormat.Borders, nie można jednak zastosować w ten sposób cienia.

Poniższe zdjęcia pokazują ustawienia granicy i cienia w Microsoft Word i ich właściwości w Aspose.Words.

apply-borders-shading-aspose-words-java-1

apply-borders-shading-aspose-words-java-2

Poniższy przykład kodu pokazuje jak formatować tabelę i komórkę z różnymi granicami i cieniami: