2 yamilinux yamilinux 于 2015.06.01 21:02 提问

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>元素之前


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

2个回答

edouardzyc
edouardzyc   2015.06.02 11:10

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

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

yamilinux
yamilinux   2015.06.05 14:18

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

qq_26670969
qq_26670969 问下如何解决啊
5 个月之前 回复
qq_33635540
qq_33635540 能问下怎么解决的么?
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片