Creare una tabella

Aspose.Words consente agli utenti di creare tabelle in un documento da zero e fornisce diversi metodi per farlo. Questo articolo presenta dettagli su come aggiungere tabelle formattate al documento utilizzando ogni metodo, così come un confronto di ogni metodo alla fine dell’articolo.

Stili da tavolo predefiniti

La tabella appena creata è data valori di default simili a quelli utilizzati in Microsoft Word:

Proprietà della Tabella Predefinito in Aspose.Words
Border Style Single
Border Width 1/2 pt
Colore di confine Black
Left and Right Padding 5.4 pts
AutoFit Mode AutoFit to Window
Allow AutoFit True

Creare una tabella con DocumentBuilder

In Aspose.Words, gli utenti possono creare una tabella in un documento utilizzando DocumentBuilder. L’algoritmo di base per la creazione di una tabella è il seguente:

  1. Avviare il tavolo con StartTable
  2. Aggiungere una cella alla tabella utilizzando InsertCell – questo inizia automaticamente una nuova riga
  3. Opzionalmente, utilizzare il CellFormat proprietà per specificare la formattazione della cella
  4. Inserisci il contenuto della cella utilizzando l’apposito DocumentBuilder metodi quali Writeln, InsertImage, e altri
  5. Ripetere i passaggi 2-4 finché la riga non è completa
  6. Chiamata EndRow per terminare la riga corrente
  7. Opzionalmente, utilizzare il RowFormat proprietà per specificare la formattazione della riga
  8. Ripetere i passaggi 2-7 fino a quando la tabella non è completa
  9. Chiamata EndTable per finire la costruzione del tavolo

Il processo di creazione di una tabella può essere visto chiaramente nell’immagine seguente:

creating-table-process

Il seguente esempio di codice mostra come creare una tabella semplice utilizzando DocumentBuilder con formattazione predefinita:

Il seguente esempio di codice mostra come creare una tabella formattata usando DocumentBuilder:

Il seguente esempio di codice mostra come inserire una tabella nidificata usando DocumentBuilder:

Creare una tabella tramite DOM (Document Object Model)

È possibile inserire le tabelle direttamente nel DOM aggiungendo un nuovo Table nodo in una posizione specifica.

Si prega di notare che subito dopo la creazione del nodo da tavolo, la tabella stessa sarà completamente vuota, cioè non contiene ancora righe e celle. Per inserire righe e celle in una tabella, aggiungere l’apposito Row e Cell nodi bambino al DOM.

Il seguente esempio di codice mostra come costruire una nuova tabella da zero aggiungendo i nodi bambino appropriati all’albero del documento:

Creare una tabella da HTML

Aspose.Words supporta l’inserimento dei contenuti in un documento da una sorgente HTML utilizzando InsertHtml metodo. L’ingresso può essere una pagina HTML completa o solo uno snippet parziale.

Usare questo InsertHtml metodo, 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:

Inserire una copia di una tabella esistente

Ci sono spesso volte 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 deepClone metodo.

La stessa tecnica può essere utilizzata per aggiungere copie di una riga o di una cella esistente a una tabella.

Il seguente esempio di codice mostra come duplicare una tabella usando i costruttori di nodo:

Il seguente esempio di codice mostra come clonare l’ultima riga di una tabella e aggiungerla alla tabella:

Se si sta cercando di creare tabelle in un documento che crescono dinamicamente con ogni record dalla fonte di dati, allora il metodo sopra non è consigliato. Invece, l’output desiderato è più facilmente raggiunto utilizzando Mail merge con le regioni. Si può imparare di più su questa tecnica in Mail Merge con le regioni sezione.

Confronta i modi per creare una tabella

Aspose.Words fornisce diversi metodi per creare nuove tabelle in un documento. Ogni metodo ha i suoi vantaggi e svantaggi, quindi la scelta di cui usare dipende spesso dalla situazione specifica.

Diamo un’occhiata più da vicino a questi modi di creare tavoli e confrontare i loro pro e contro:

Metodo Vantaggi Svantaggi
Via Via DocumentBuilder Il metodo standard per l’inserimento di tabelle e altri contenuti di documento A volte difficile creare molte varietà di tavoli allo stesso tempo con la stessa istanza costruttore
Via Via DOM Si adatta meglio con il codice circostante che crea e inserisce nodi direttamente nel DOM senza utilizzare DocumentBuilder La tabella viene creata “vuota”: prima di eseguire la maggior parte delle operazioni, devi chiamare EnsureMinimum per creare qualsiasi nodo bambino mancante
Da HTML Può creare una nuova tabella dalla fonte HTML utilizzando tag come <table>, <tr>, <td> Non tutto il possibile Microsoft Word formati da tavolo possono essere applicati a HTML
Chiusura di una tabella esistente È possibile creare una copia di una tabella esistente mantenendo tutta la formattazione della riga e della cella I nodi bambino appropriati devono essere rimossi prima che la tabella sia pronta per l’uso