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

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 slam rangenet++配置
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊