ConvertToHorizontallyMergedCells

Table.ConvertToHorizontallyMergedCells method

Convertit les cellules fusionnées horizontalement par largeur en cellules fusionnées parHorizontalMerge .

public void ConvertToHorizontallyMergedCells()

Remarques

Les cellules du tableau peuvent être fusionnées horizontalement à l’aide d’indicateurs de fusionHorizontalMerge ou en utilisant la largeur de la celluleWidth.

Lorsque la cellule du tableau est fusionnée par la propriété de largeurHorizontalMerge cela n’a aucun sens, mais parfois, avoir des indicateurs de fusion est un moyen plus pratique.

Utilisez cette méthode pour transformer les cellules de tableau fusionnées horizontalement par largeur en cellules fusionnées par des indicateurs de fusion.

Exemples

Montre comment convertir des cellules fusionnées horizontalement par largeur en cellules fusionnées par CellFormat.HorizontalMerge.

Document doc = new Document(MyDir + "Table with merged cells.docx");

// Microsoft Word n'écrit plus d'indicateurs de fusion, définissant plutôt les cellules fusionnées par largeur.
// Aspose.Words définit par défaut seulement 5 cellules dans une ligne, et aucune d'entre elles n'a l'indicateur de fusion horizontale,
// même s'il y avait 7 cellules dans la ligne avant que la fusion horizontale n'ait lieu.
Table table = doc.FirstSection.Body.Tables[0];
Row row = table.Rows[0];

Assert.AreEqual(5, row.Cells.Count);
Assert.True(row.Cells.All(c => ((Cell)c).CellFormat.HorizontalMerge == CellMerge.None));

// Utilisez la méthode « ConvertToHorizontallyMergedCells » pour convertir les cellules fusionnées horizontalement
// par sa largeur à la cellule fusionnée horizontalement par des drapeaux.
// Maintenant, nous avons 7 cellules, et certaines d’entre elles ont des valeurs de fusion horizontales.
table.ConvertToHorizontallyMergedCells();
row = table.Rows[0];

Assert.AreEqual(7, row.Cells.Count);

Assert.AreEqual(CellMerge.None, row.Cells[0].CellFormat.HorizontalMerge);
Assert.AreEqual(CellMerge.First, row.Cells[1].CellFormat.HorizontalMerge);
Assert.AreEqual(CellMerge.Previous, row.Cells[2].CellFormat.HorizontalMerge);
Assert.AreEqual(CellMerge.None, row.Cells[3].CellFormat.HorizontalMerge);
Assert.AreEqual(CellMerge.First, row.Cells[4].CellFormat.HorizontalMerge);
Assert.AreEqual(CellMerge.Previous, row.Cells[5].CellFormat.HorizontalMerge);
Assert.AreEqual(CellMerge.None, row.Cells[6].CellFormat.HorizontalMerge);

Voir également