Applicare la formattazione della tabella
Ogni elemento di una tabella può essere applicato con formattazione diversa. Ad esempio, la formattazione della tabella verrà applicata all’intera tabella, la formattazione della riga a solo righe particolari, la formattazione della cella a solo alcune celle.
Aspose.Words fornisce un ricco API per recuperare e applicare la formattazione a una tabella. È possibile utilizzare Table, RowFormat, e CellFormat nodi per impostare la formattazione.
In questo articolo, parleremo di come applicare la formattazione a diversi nodi di tabella e quali impostazioni di formattazione della tabella Aspose.Words supporti.
Applicare la formattazione a diversi nodi
In questa sezione, cercheremo di applicare la formattazione a vari nodi di tabella.
Formattazione del livello della tabella
Per applicare la formattazione a una tabella è possibile utilizzare le proprietà disponibili sulla corrispondente Table nodo usando il Table, PreferredWidth, e TableCollection classi.
Le immagini qui sotto mostrano una rappresentazione del Table funzioni di formattazione in Microsoft Word e le loro proprietà corrispondenti in Aspose.Words.
Il seguente esempio di codice mostra come applicare un bordo sagomato a una tabella:
Il seguente esempio di codice mostra come costruire una tabella con tutti i bordi abilitati (grid):
Formattazione del livello di riga
La formattazione a livello di riga** può essere controllata utilizzando Row, RowFormat, e RowCollection classi.
Le immagini qui sotto mostrano una rappresentazione del Row funzioni di formattazione in Microsoft Word e le loro proprietà corrispondenti in Aspose.Words.
Il seguente esempio di codice mostra come modificare la formattazione della riga della tabella:
Formattazione del livello cellulare
La formattazione a livello cellulare è controllata dal Cell, CellFormat, e CellCollection classi.
Nota: Cell può essere solo un nodo bambino di un Row. Allo stesso tempo, ci deve essere almeno uno Paragraph nel Cell in modo che la formattazione possa essere applicata ad esso.
Oltre al Paragraph, si può anche inserire un Table in un Cell.
Le immagini qui sotto mostrano una rappresentazione del Cell funzioni di formattazione in Microsoft Word e le loro proprietà corrispondenti in Aspose.Words.
Il seguente esempio di codice mostra come modificare la formattazione di una cella di tabella:
Il seguente esempio di codice mostra come impostare la quantità di spazio (in punti) da aggiungere a sinistra/top/right/bottom del contenuto della cella:
Specificare le altezze delle righe
Il modo più semplice per impostare l’altezza della riga è quello di utilizzare DocumentBuilder. Utilizzo dell’appropriato RowFormat proprietà, è possibile impostare l’impostazione dell’altezza predefinita o applicare un’altezza diversa per ogni riga nella tabella.
In Aspose.Words, altezza della riga del tavolo è controllata da:
- la proprietà dell’altezza della fila – Height
- la proprietà della regola di altezza per la riga data – HeightRule
Allo stesso tempo, un’altezza diversa può essere impostata per ogni riga – questo consente di controllare ampiamente le impostazioni della tabella.
Il seguente esempio di codice mostra come creare una tabella che contiene una singola cella e applicare la formattazione della riga:
Specificare la larghezza della tabella e delle celle
Un tavolo in un Microsoft Word documento fornisce diversi modi per ridimensionare la tabella e le singole celle. Queste proprietà consentono un notevole controllo sull’aspetto e sul comportamento della tabella, in modo che Aspose.Words supporta il comportamento dei tavoli, come in Microsoft Word.
È importante sapere che gli elementi della tabella presentano diverse proprietà che possono influenzare come le larghezze della tabella generale, così come le singole celle, è calcolato:
- Larghezza preferenziale sul tavolo
- Larghezza preferenziale su singole celle
- Consentire autofit sul tavolo
Questo articolo dettagli come le varie proprietà di calcolo della larghezza della tabella funzionano e come ottenere il controllo completo sul calcolo della larghezza della tabella. Questo è particolarmente utile per conoscere in tali casi in cui il layout della tabella non appare come previsto.
Nella maggior parte dei casi, la cella preferita è raccomandata rispetto alla larghezza della tabella. La larghezza della cella preferita è più in linea con le specifiche del formato DOCX così come la Aspose.Words modello.
La larghezza della cella è in realtà un valore calcolato per il formato DOCX. La larghezza effettiva della cella può dipendere da molte cose. Ad esempio, modificare i margini di pagina o la larghezza della tabella preferita può influenzare la larghezza effettiva della cella.
La larghezza della cella preferita è una proprietà cellulare che viene memorizzata nel documento. Non dipende da nulla e non cambia quando si cambia la tabella o altre proprietà della cella.
Come Usare la Larghezza Preferita
La larghezza desiderata di un tavolo o di singole celle è definita attraverso la proprietà di larghezza preferita, che è la dimensione che un elemento si sforza di adattarsi. Cioè, la larghezza preferita può essere specificata per l’intera tabella o per le singole celle. In alcune situazioni potrebbe non essere possibile adattare esattamente questa larghezza, ma la larghezza effettiva sarà vicina a questo valore nella maggior parte dei casi.
Il tipo di larghezza e il valore desiderato appropriato sono impostati utilizzando i metodi PreferredWidth classe:
- Auto campo per specificare auto o “nessuna larghezza preferita”
- FromPercent metodo per specificare una larghezza percentuale
- FromPoints metodo per specificare la larghezza nei punti
Le immagini qui sotto mostrano una rappresentazione delle caratteristiche preferite di regolazione della larghezza in Microsoft Word e le loro proprietà corrispondenti in Aspose.Words.
Un esempio di come queste opzioni sono applicate a una tabella reale in un documento può essere visto nell’immagine qui sotto.
Specificare la Tabella Preferita o la Larghezza Cellulare
In Aspose.Words, le larghezze della tabella e delle celle sono impostate utilizzando Table.PreferredWidth proprietà e CellFormat.PreferredWidth proprietà, con opzioni disponibili nella PreferredWidthType enumerazione:
- No. Auto, che è equivalente a nessun set di larghezza preferito
- No. Percent, che si adatta all’elemento rispetto allo spazio disponibile nella finestra o nella dimensione del contenitore, e calcola il valore quando la larghezza disponibile cambia
- No. Points, che corrisponde ad un elemento della larghezza specificata in punti
Usare il Table.PreferredWidth la proprietà regola la sua larghezza preferita rispetto al suo contenitore: pagina, colonna di testo o cella della tabella esterna se è una tabella nidificata.
Il seguente esempio di codice mostra come impostare la tabella in modo automatico al 50% della larghezza della pagina:
Usare il CellFormat.PreferredWidth la proprietà su una determinata cella regola la sua larghezza preferita.
Il seguente esempio di codice mostra come impostare le diverse impostazioni di larghezza preferita:
Trova Tipo di Larghezza e Valore Preferiti
È possibile utilizzare Type e Value proprietà per trovare i dettagli di larghezza preferiti della tabella o della cella desiderata.
Il seguente esempio di codice mostra come recuperare il tipo di larghezza preferito di una cella di tabella:
Come Impostare l’Autofit
The AllowAutoFit proprietà consente alle celle in una tabella di crescere e ridurre in base a un criterio selezionato. Per esempio, è possibile utilizzare il AutoFit alla finestra opzione per adattare la tabella alla larghezza della pagina, e la AutoFit to Content opzione per consentire a ciascuna cella di crescere o ridurre in base al suo contenuto.
Per impostazione predefinita, Aspose.Words inserisce una nuova tabella utilizzando AutoFit alla finestra. La tabella sarà dimensionata in base alla larghezza della pagina disponibile. Per ridimensionare un tavolo, è possibile chiamare AutoFit metodo. Questo metodo accetta un AutoFitBehavior enumerazione che specifica quale tipo di autofit viene applicato alla tabella.
È importante sapere che il metodo di autofit è in realtà una scorciatoia che applica diverse proprietà alla tabella contemporaneamente. Queste sono proprietà che danno effettivamente alla tabella il comportamento osservato. Discuteremo queste proprietà per ogni opzione di autofit.
Il seguente esempio di codice mostra come impostare una tabella per ridurre o crescere ogni cella secondo il suo contenuto:
Useremo la seguente tabella per applicare le varie impostazioni di auto vestibilità come dimostrazione.
Tavolino da tavolo per finestra
Quando l’autofitting a una finestra viene applicata a un tavolo, le seguenti operazioni vengono effettivamente eseguite dietro le quinte:
- The Table.AllowAutoFit la proprietà è abilitata per ridimensionare automaticamente le colonne per adattarsi al contenuto disponibile, utilizzando un Table.PreferredWidth valore del 100%
- CellFormat.PreferredWidth viene rimosso da tutte le celle della tabella
Si noti che questo è leggermente diverso dal Microsoft Word comportamento, in cui la larghezza preferita di ogni cella è impostata ai valori appropriati in base alle dimensioni e al contenuto attuali. Aspose.Words non aggiorna la larghezza preferita in modo da ottenere appena sgomberato invece.
- Le larghezze delle colonne sono ricalcolate per il contenuto della tabella corrente – il risultato finale è una tabella che occupa l’intera larghezza disponibile
- La larghezza delle colonne nella tabella cambia automaticamente mentre l’utente modifica il testo
Il seguente esempio di codice mostra come automatizzare una tabella alla larghezza della pagina:
Un esempio di come queste opzioni sono applicate alla tabella sopra può essere visto nell’immagine qui sotto.
Tabella di autofilettatura al contenuto
Quando la tabella viene automatizzata il contenuto, i seguenti passaggi vengono effettivamente eseguiti dietro le quinte:
-
The Table.AllowAutoFit la proprietà è abilitata a ridimensionare automaticamente ogni cella in base al suo contenuto
-
La larghezza della tabella preferita viene rimossa Table.PreferredWidth, CellFormat.PreferredWidth viene rimosso per ogni cella della tabella
Si noti che questa opzione di autofit rimuove la larghezza preferita dalle celle, proprio come in Microsoft Word. Se si desidera mantenere le dimensioni della colonna e aumentare o diminuire le colonne per adattarsi al contenuto, è necessario impostare il Table.AllowAutoFit proprietà a True da solo piuttosto che usare la scorciatoia autofit. -
Le larghezze delle colonne sono ricalcolate per il contenuto della tabella corrente – il risultato finale è una tabella in cui le larghezze della colonna e la larghezza dell’intera tabella vengono ridimensionate automaticamente per adattarsi al meglio al contenuto mentre l’utente modifica il testo
Il seguente esempio di codice mostra come automatizzare una tabella al suo contenuto:
Un esempio di come queste opzioni sono applicate alla tabella sopra può essere visto nell’immagine qui sotto.
Disattivare l’AutoFit nella tabella e utilizzare le Width della colonna fissa
Se una tabella ha autofit disabilitato e le larghezze delle colonne fisse sono utilizzate invece, vengono eseguite le seguenti fasi:
- Table.AllowAutoFit proprietà è disabilitata in modo che le colonne non crescono o si restringono al loro contenuto
- La larghezza preferita dell’intera tabella viene rimossa da Table.PreferredWidth, CellFormat.PreferredWidth viene rimosso da tutte le celle della tabella
- Il risultato finale è una tabella la cui larghezza di colonna è determinata dalla CellFormat.Width proprietà, e le cui colonne non vengono ridimensionate automaticamente quando l’utente entra nel testo o quando la pagina viene ridimensionata
Il seguente esempio di codice mostra come disattivare l’autofit e abilitare la larghezza fissa per la tabella specificata:
Un esempio di come queste opzioni sono applicate alla tabella sopra può essere visto nell’immagine qui sotto.
Ordine di Precedenza quando Calcolo Larghezza Cellulare
Aspose.Words consente agli utenti di definire la larghezza di una tabella o di una cella attraverso oggetti multipli, incluso CellFormat – la sua Width la proprietà è per lo più lasciata da versioni precedenti, tuttavia, è ancora utile per semplificare l’impostazione della larghezza della cella.
È importante sapere che CellFormat.Width la proprietà funziona in modo diverso a seconda di quale delle altre proprietà di larghezza già esistono nella tabella.
Aspose.Words utilizza il seguente ordine per il calcolo delle larghezze delle celle:
Ordinanza | Proprietà | Designazione |
---|---|---|
1 | AllowAutoFit è determinato | Se AutoFit è abilitato: - la tabella può crescere oltre la larghezza preferita per ospitare il contenuto – di solito non si restringe sotto la larghezza preferita - qualsiasi cambiamento al CellFormat.Width il valore è ignorato e la cella si adatta al suo contenuto invece |
2 | PreferredWidthType con un valore di Points o Percent | CellFormat.Width è ignorato |
3 | PreferredWidthType con un valore di Auto | Il valore dal CellFormat.Width viene copiato e diventa la larghezza preferita della cella (in punti) |
Lasciare spaziare tra celle
È possibile ottenere o impostare qualsiasi spazio aggiuntivo tra le celle da tavolo simile all’opzione “Stampamento Сell” in Microsoft Word. Questo può essere fatto utilizzando AllowCellSpacing proprieta'.
Un esempio di come queste opzioni sono applicate a una tabella reale in un documento può essere visto nell’immagine qui sotto.
Il seguente esempio di codice mostra come impostare la spaziatura tra le celle:
Applicare bordi e ombreggiatura
Borders e ombreggiatura possono essere applicati sia all’intera tabella utilizzando Table.SetBorder, Table.SetBorders e Table.SetShading, o solo a celle specifiche utilizzando CellFormat.Borders e CellFormat.Shading. Inoltre, i bordi delle righe possono essere impostati utilizzando RowFormat.Borders, Tuttavia la ombreggiatura non può essere applicata in questo modo.
Le immagini qui sotto mostrano le impostazioni di confine e ombra in Microsoft Word e le loro proprietà corrispondenti in Aspose.Words.
Il seguente esempio di codice mostra come formattare una tabella e una cella con diversi bordi e ombreggiature: