OpenXml 单元格合并后Word打开提示错误

string path = @"D:\newdoc.docx" ;
WordprocessingDocument doc = WordprocessingDocument.Create(path, WordprocessingDocumentType.Document)
MainDocumentPart mainpart = doc.AddMainDocumentPart();
mainpart.Document = new Document();
Body body = mainpart.Document.AppendChild(new Body());

                Table t = new Table();
                TableProperties tpr = new TableProperties(new TableWidth(){Width="0",Type=TableWidthUnitValues.Auto});
                t.Append(tpr);
                TableGrid tg = new TableGrid(new GridColumn(), new GridColumn());
                t.Append(tg);

                TableRow tr1 = new TableRow();
                TableCell r1tc1 = new TableCell();
                TableCell r1tc2 = new TableCell();
                tr1.Append(r1tc1);
                tr1.Append(r1tc2);

                TableRow tr2 = new TableRow();
                TableCell r2tc1 = new TableCell();
                TableCell r2tc2 = new TableCell();
                tr2.Append(r2tc1);
                tr2.Append(r2tc2);

                TableRow tr3 = new TableRow();
                TableCell r3tc1 = new TableCell(new TableCellProperties(new VerticalMerge(){Val=MergedCellValues.Restart}));

                TableCell r3tc2 = new TableCell();
                tr3.Append(r3tc1);
                tr3.Append(r3tc2);

                TableRow tr4 = new TableRow();
                TableCell r4tc1 = new TableCell(new TableCellProperties(new VerticalMerge() { Val = MergedCellValues.Continue }));
                TableCell r4tc2 = new TableCell();
                tr4.Append(r4tc1);
                tr4.Append(r4tc2);

                t.Append(tr1);
                t.Append(tr2);
                t.Append(tr3);
                t.Append(tr4);

                body.Append(t);



                                    代码生成word文档的表格后,用Word打开提示错误:遇到不明确的单元格匹配。可能丢失段落元素。<p> 元素必须位于</tc>元素之前


                                    谁能指点指点,非常感谢。

看上去没错, 你最后mainpart.Document.save()了吗
要么你换种写法试试
TableCellProperties tableCellProperties = new TableCellProperties();
HorizontalMerge verticalMerge = new HorizontalMerge()
{
Val = MergedCellValues.Restart
};
tableCellProperties.Append(verticalMerge);

TableCell r3tc1 = new TableCell();
r3tc1.Append(tableCellProperties);

已经解决了 还是感谢有人回答

我这边也遇到了这个问题,我试了半天,找到了,但不知道跟你们的是不是一样
标记为MergedCellValues.Continue的纵向单元格一定要给值!!给值!!给一个英文字母a 什么的也行