HorizontalMerge
Contents
[
Hide
]CellFormat.HorizontalMerge property
Specifies how the cell is merged horizontally with other cells in the row.
public CellMerge HorizontalMerge { get; set; }
Examples
Shows how to merge table cells horizontally.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Insert a cell into the first column of the first row.
// This cell will be the first in a range of horizontally merged cells.
builder.InsertCell();
builder.CellFormat.HorizontalMerge = CellMerge.First;
builder.Write("Text in merged cells.");
// Insert a cell into the second column of the first row. Instead of adding text contents,
// we will merge this cell with the first cell that we added directly to the left.
builder.InsertCell();
builder.CellFormat.HorizontalMerge = CellMerge.Previous;
builder.EndRow();
// Insert two more unmerged cells to the second row.
builder.CellFormat.HorizontalMerge = CellMerge.None;
builder.InsertCell();
builder.Write("Text in unmerged cell.");
builder.InsertCell();
builder.Write("Text in unmerged cell.");
builder.EndRow();
builder.EndTable();
doc.Save(ArtifactsDir + "CellFormat.HorizontalMerge.docx");
Prints the horizontal and vertical merge type of a cell.
public void CheckCellsMerged()
{
Document doc = new Document(MyDir + "Table with merged cells.docx");
Table table = doc.FirstSection.Body.Tables[0];
foreach (Row row in table.Rows)
foreach (Cell cell in row.Cells)
Console.WriteLine(PrintCellMergeType(cell));
}
public string PrintCellMergeType(Cell cell)
{
bool isHorizontallyMerged = cell.CellFormat.HorizontalMerge != CellMerge.None;
bool isVerticallyMerged = cell.CellFormat.VerticalMerge != CellMerge.None;
string cellLocation =
$"R{cell.ParentRow.ParentTable.IndexOf(cell.ParentRow) + 1}, C{cell.ParentRow.IndexOf(cell) + 1}";
if (isHorizontallyMerged && isVerticallyMerged)
return $"The cell at {cellLocation} is both horizontally and vertically merged";
if (isHorizontallyMerged)
return $"The cell at {cellLocation} is horizontally merged.";
return isVerticallyMerged ? $"The cell at {cellLocation} is vertically merged" : $"The cell at {cellLocation} is not merged";
}
See Also
- property VerticalMerge
- enum CellMerge
- class CellFormat
- namespace Aspose.Words.Tables
- assembly Aspose.Words