var tables = mainDocumentPart.Document.Body.Elements<Table>().ToList();
var rows = tables[1].Elements<TableRow>().ToArray();
var wasRestart = false;
for (int i = 0; i < rows.Length - 1; i++)
{
if (rows[i].Elements<TableCell>().ElementAt(1).Elements<Paragraph>().First().Elements<Run>().First().Elements<Text>().First().Text ==
rows[i + 1].Elements<TableCell>().ElementAt(1).Elements<Paragraph>().First().Elements<Run>().First().Elements<Text>().First().Text)
{
rows[i].Elements<TableCell>().ElementAt(1).TableCellProperties.VerticalMerge = new VerticalMerge() { Val = wasRestart ? MergedCellValues.Continue : MergedCellValues.Restart };
rows[i + 1].Elements<TableCell>().ElementAt(1).TableCellProperties.VerticalMerge = new VerticalMerge();
rows[i].Elements<TableCell>().ElementAt(4).TableCellProperties.VerticalMerge = new VerticalMerge() { Val = wasRestart ? MergedCellValues.Continue : MergedCellValues.Restart };
rows[i + 1].Elements<TableCell>().ElementAt(4).TableCellProperties.VerticalMerge = new VerticalMerge();
wasRestart = true;
}
else
{
wasRestart = false;
}
}
Комментариев нет:
Отправить комментарий