如何设置表格标题与OpenXML的?(How to set table caption with O

2019-10-30 11:26发布

我想标题设置为我的表:

var caption = new TableCaption();
caption.Val = "Test";
table.Append(caption);

但没有任何反应。 请告诉我错在这里?

下降

                foreach (var tabl in mainPart.Document.Body.Descendants<Table>())
                {
                    foreach (var trow in tabl.Elements<TableRow>())
                    {
                        foreach (var tcell in trow.Elements<TableCell>())
                        {
                            foreach (var para in tcell.Elements<Paragraph>())
                            {
                                foreach (var run in para.Elements<Run>())
                                {
                                    foreach (var text in run.Elements<Text>())
                                    {
                                        if (
                                            text.Text ==
                                                "my caption")
                                        {
                                            para.RemoveAllChildren();
                                            para.Remove();
                                        }
                                    }
                                }
                            }
                        }
                    }
                }

Answer 1:

在你的代码,我猜的tableDocumentFormat.OpenXml.Wordprocessing.Table 。 这是不是此元素有效的父。 的TableCaption应该被添加到一个TableProperties元件<w:tblPr>

Table table = new Table();
TableProperties tableProperties = new TableProperties(
                  new TableCaption() { Val = "Test" }
                );
table.AppendChild<TableProperties>(tableProperties);

然后记下该<w:tblCaption>在2008年版的ECMA-376加入的元素,所以Word 2007中不支持此。 该TableCaption类只可用,因为Office2010的。

要添加/看到这个标题的字:

右键点击表 - >属性 - >文本/替换



文章来源: How to set table caption with OpenXML?