Introduzione e creazione di tabelle
Aspose.Words consente agli utenti di creare tabelle in un documento da zero e fornisce diversi metodi per farlo. Questo articolo presenta i dettagli su come aggiungere tabelle formattate al documento utilizzando ciascun metodo, nonché un confronto tra ciascun metodo alla fine dell’articolo.
Stili di tabella predefiniti
Alla tabella appena creata vengono assegnati valori predefiniti simili a quelli utilizzati in Microsoft Word:
Proprietà tabella | Predefinito in Aspose.Words |
---|---|
Border Style |
Single |
Border Width |
1/2 pt |
Border Color |
Black |
Left and Right Padding |
5.4 pts |
AutoFit Mode |
AutoFit to Window |
Allow AutoFit |
True |
Una tabella può essere in linea se è posizionata in modo stretto oppure mobile se può essere posizionata in qualsiasi punto della pagina. Per impostazione predefinita, Aspose.Words crea sempre tabelle in linea.
|
Crea una tabella con DocumentBuilder
In Aspose.Words, gli utenti possono creare una tabella in un documento utilizzando DocumentBuilder. L’algoritmo di base per creare una tabella è il seguente:
- Inizia la tabella con StartTable
- Aggiungi una cella alla tabella utilizzando InsertCell: questo avvia automaticamente una nuova riga
- Facoltativamente, utilizzare la proprietà CellFormat per specificare la formattazione della cella
- Inserisci il contenuto della cella utilizzando i metodi DocumentBuilder appropriati come Writeln, InsertImage e altri
- Ripetere i passaggi 2-4 fino al completamento della riga
- Chiama EndRow per terminare la riga corrente
- Facoltativamente, utilizzare la proprietà RowFormat per specificare la formattazione della riga
- Ripetere i passaggi da 2 a 7 fino al completamento della tabella
- Chiama EndTable per completare la creazione della tabella
Dettagli importanti:
- È possibile richiamare StartTable anche all’interno di una cella, nel qual caso avvia la creazione di una tabella nidificata all’interno della cella.
- Dopo aver chiamato InsertCell, viene creata una nuova cella e qualsiasi contenuto aggiunto utilizzando altri metodi della classe DocumentBuilder verrà aggiunto alla cella corrente. Per creare una nuova cella sulla stessa riga, richiama nuovamente InsertCell.
- Se InsertCell viene richiamato immediatamente dopo EndRow e la fine di una riga, la tabella continuerà su una nuova riga.
- Il metodo EndTable per terminare la tabella deve essere chiamato solo una volta dopo aver chiamato EndRow. La chiamata EndTable sposta il cursore dalla cella corrente alla posizione immediatamente dopo la tabella.
Il processo di creazione di una tabella può essere visto chiaramente nella seguente immagine:
L’esempio di codice seguente mostra come creare una tabella semplice utilizzando DocumentBuilder con formattazione predefinita:
Il seguente esempio di codice mostra come creare una tabella formattata utilizzando DocumentBuilder:
Il seguente esempio di codice mostra come inserire una tabella nidificata utilizzando DocumentBuilder:
Crea una tabella tramite DOM (Document Object Model)
Puoi inserire tabelle direttamente nel DOM aggiungendo un nuovo nodo Table in una posizione specifica.
Tieni presente che subito dopo la creazione del nodo della tabella, la tabella stessa sarà completamente vuota, ovvero non conterrà ancora righe e celle. Per inserire righe e celle in una tabella, aggiungere i nodi secondari Row e Cell appropriati all’DOM.
Il seguente esempio di codice mostra come creare una nuova tabella da zero aggiungendo i nodi figlio appropriati all’albero del documento:
##Create una tabella da HTML
Aspose.Words supporta l’inserimento di contenuto in un documento da un’origine HTML utilizzando il metodo InsertHtml. L’input può essere una pagina HTML completa o solo uno snippet parziale.
Utilizzando il metodo InsertHtml, gli utenti possono inserire tabelle nel documento tramite tag di tabella come <table>
, <tr>
, <td>
.
Il seguente esempio di codice mostra come inserire una tabella in un documento da una stringa contenente tag HTML:
Inserisci una copia di una tabella esistente
Ci sono spesso momenti in cui è necessario creare una tabella basata su una tabella già esistente in un documento. Il modo più semplice per duplicare una tabella mantenendo tutta la formattazione è clonare il nodo Tabella utilizzando il metodo Clone.
La stessa tecnica può essere utilizzata per aggiungere copie di una riga o cella esistente a una tabella.
L’esempio di codice seguente mostra come duplicare una tabella utilizzando i costruttori di nodi:
L’esempio di codice seguente mostra come clonare l’ultima riga di una tabella e aggiungerla alla tabella:
Se stai cercando di creare tabelle in un documento che crescono dinamicamente con ogni record della tua origine dati, il metodo sopra descritto non è consigliato. Invece, il risultato desiderato si ottiene più facilmente utilizzando Mail merge con le regioni.
Confronta i modi per creare una tabella
Aspose.Words fornisce diversi metodi per creare nuove tabelle in un documento. Ogni metodo presenta vantaggi e svantaggi, quindi la scelta di quale utilizzare dipende spesso dalla situazione specifica.
Diamo uno sguardo più da vicino a questi modi di creare tabelle e confrontiamo i loro pro e contro:
Metodo | Vantaggi | Svantaggi |
---|---|---|
Tramite DocumentBuilder | Il metodo standard per inserire tabelle e altro contenuto di documenti | A volte è difficile creare molte varietà di tabelle contemporaneamente con la stessa istanza del builder |
Tramite DOM | Si adatta meglio al codice circostante che crea e inserisce i nodi direttamente nel DOM senza utilizzare un DocumentBuilder | La tabella viene creata “vuota”: prima di eseguire la maggior parte delle operazioni, è necessario richiamare EnsureMinimum per creare eventuali nodi figli mancanti |
Dall’HTML | Può creare una nuova tabella da sorgente HTML utilizzando tag come <table> , <tr> , <td> |
Non tutti i possibili formati di tabella Microsoft Word possono essere applicati all’HTML |
Clonazione di una tabella esistente | Puoi creare una copia di una tabella esistente mantenendo tutta la formattazione di righe e celle | I nodi figlio appropriati devono essere rimossi prima che la tabella sia pronta per l’uso |