yamilinux 2015-06-01 13:02 采纳率: 0%
浏览 2673

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


                                    谁能指点指点,非常感谢。
  • 写回答

3条回答

  • edouardzyc 2015-06-02 03: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);

    评论

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题