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.
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.
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.
Należy pamiętać, że Cell może być tylko węzeł dziecięcy Row. Jednocześnie musi być przynajmniej jeden Paragraph w Cell aby można było zastosować formatowanie.
Oprócz Paragraph, można również wstawić Table do Cell.
Poniższe zdjęcia przedstawiają reprezentację Cell formatowanie funkcji w Microsoft Word i ich właściwości w Aspose.Words.
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.
W większości przypadków zaleca się stosowanie preferowanej komórki niż szerokość tabeli. Preferowana szerokość komórki jest bardziej zgodna ze specyfikacją formatu DOCX oraz Aspose.Words Model.
Szerokość komórki jest obliczoną wartością dla formatu DOCX. Rzeczywista szerokość komórek może zależeć od wielu rzeczy. Na przykład zmiana marginesów strony lub preferowanej szerokości tabeli może mieć wpływ na rzeczywistą szerokość komórki.
Preferowana szerokość komórki jest właściwością komórki, która jest przechowywana w dokumencie. Nie zależy od niczego i nie zmienia się przy zmianie tabeli lub innych właściwości komórki.
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.
Przykład zastosowania tych opcji do rzeczywistej tabeli w dokumencie można zobaczyć na rysunku poniżej.
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.
AutoFit Tabela do okna
Jeżeli automontaż do okna jest stosowany do tabeli, następujące operacje są rzeczywiście wykonywane za kulisami:
- W Table.AllowAutoFit właściwość może automatycznie zmieniać rozmiar kolumn, aby dopasować dostępną zawartość, używając Table.PreferredWidth wartość 100%
- CellFormat.PreferredWidth jest usuwany ze wszystkich komórek stołowych
Należy zauważyć, że jest to nieco odmienne od Microsoft Word zachowanie, gdzie preferowana szerokość każdej komórki jest ustawiona na odpowiednie wartości na podstawie ich obecnego rozmiaru i zawartości. Aspose.Words nie aktualizuje preferowanej szerokości, więc po prostu zostają oczyszczone.
- Szerokość kolumny jest ponownie obliczona dla bieżącej zawartości tabeli - wynik końcowy to tabela, która zajmuje całą dostępną szerokość
- 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 Tabela do zawartości
Gdy tabela jest automatycznie wyposażona zawartość, następujące kroki są rzeczywiście wykonywane za kulisami:
-
W Table.AllowAutoFit właściwość może automatycznie zmieniać rozmiar każdej komórki w zależności od jej zawartości
-
Preferowana szerokość tabeli jest usuwana z Table.PreferredWidth, CellFormat.PreferredWidth jest usuwany dla każdej komórki tabeli
Należy pamiętać, że ta opcja autofit usuwa preferowaną szerokość z komórek, tak jak w Microsoft Word. Jeśli chcesz zachować rozmiary kolumn i zwiększyć lub zmniejszyć kolumny, aby dopasować zawartość, należy ustawić Table.AllowAutoFit nieruchomości True samodzielnie zamiast używać skrótu autofit. -
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.
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:
- Table.AllowAutoFit właściwość jest wyłączona więc kolumny nie rosną lub kurczą się do ich zawartości
- Preferowana szerokość całej tabeli jest usuwana z Table.PreferredWidth, CellFormat.PreferredWidth jest usuwany ze wszystkich komórek stołowych
- 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.
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.
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.
Poniższy przykład kodu pokazuje jak formatować tabelę i komórkę z różnymi granicami i cieniami: