Unire le celle da tavolo

A volte alcune righe in una tabella richiedono una voce o grandi blocchi di testo che assumono la larghezza completa della tabella. Per una corretta progettazione della tabella, l’utente può unire diverse celle da tavolo in una. Aspose.Words supporta le celle unite quando si lavora con tutti i formati di input, incluso l’importazione di contenuti HTML.

Come Unire Celle da Tavolo

In Aspose.Words, le celle unite sono rappresentate dalle seguenti proprietà della CellFormat classe:

  • No. HorizontalMerge che descrive se la cella fa parte di una fusione orizzontale di celle
  • No. VerticalMerge che descrive se la cella fa parte di una fusione verticale di celle

I valori di queste proprietà determinano il comportamento univoco delle cellule:

work-with-merged-cells-aspose-words-java

Controllare se una cella è Merged

Per verificare se una cella fa parte di una sequenza di celle unite, controlliamo semplicemente il HorizontalMerge e VerticalMerge proprietà.

Il seguente esempio di codice mostra come stampare il tipo di fusione della cella orizzontale e verticale:

Unire le celle della tabella quando si utilizza DocumentBuilder

Unire le celle in una tabella creata con DocumentBuilder, è necessario impostare il tipo di fusione appropriato per ogni cella in cui si prevede la fusione – prima CellMerge.First e poi CellMerge.Previous.

Inoltre, è necessario ricordare di cancellare l’impostazione di fusione per quelle celle in cui non è richiesta alcuna fusione – questo può essere fatto impostando la prima cella non-merge a CellMerge.None. Se questo non è fatto, tutte le celle nella tabella saranno unite.

Il seguente esempio di codice mostra come creare una tabella con due righe in cui le celle nella prima riga sono unite orizzontalmente:

Il seguente esempio di codice mostra come creare una tabella a due colonne in cui le celle nella prima colonna sono unite verticalmente:

Unisci celle da tavolo in altri casi

In altre situazioni in cui DocumentBuilder non viene utilizzato, come in una tabella esistente, le celle di fusione nel modo precedente non possono essere facili. Invece, possiamo avvolgere le operazioni di base coinvolte nell’applicazione delle proprietà di fusione alle celle in un metodo che rende il compito molto più facile. Questo metodo è simile al metodo di automazione di fusione, che è chiamato a unire una gamma di celle in una tabella.

Il codice qui sotto fonderà le celle della tabella nell’intervallo specificato, a partire dalla cella data e termina alla cella finale. In questo caso, l’intervallo può abbracciare più righe o colonne:

Il seguente esempio di codice mostra come unire un intervallo di celle tra due celle specificate:

Celle di fusione verticali e orizzontali nella tabella HTML

Come abbiamo detto negli articoli precedenti, una tabella in Microsoft Word è una serie di righe indipendenti. Ogni riga ha un insieme di celle che sono indipendenti dalle celle di altre righe. Così, nel Microsoft Word tabella non c’è un oggetto come un “colonna”, e “1 ° colonna” è qualcosa come “il set delle 1 ° celle di ogni riga nella tabella”. Questo consente agli utenti di avere una tabella in cui, ad esempio, la prima riga consiste di due celle – 2cm e 1cm, e la seconda riga consiste di due celle diverse – 1cm e 2cm di larghezza. E Aspose.Words supporta questo concetto di tavoli.

Una tabella in HTML ha una struttura essenzialmente diversa: ogni riga ha lo stesso numero di celle e (è importante per l’attività) ogni cella ha la larghezza della colonna corrispondente, la stessa per tutte le celle in una colonna. # HorizontalMerge e VerticalMerge restituire un valore errato, utilizzare il seguente esempio di codice:

Convertire in orizzontale Celle di fusione

A volte non è possibile rilevare quali celle sono fuse perché alcune versioni più recenti di Microsoft Word non utilizzare più le bandiere di fusione quando le celle sono unite orizzontalmente. Ma per situazioni in cui le celle sono unite in una cella orizzontalmente dalla loro larghezza utilizzando bandiere di fusione, Aspose.Words fornisce ConvertToHorizontallyMergedCells metodo per convertire le celle. Questo metodo semplicemente trasforma la tabella e aggiunge nuove celle come necessario.

Il seguente esempio di codice mostra il metodo sopra in funzione: