簡體   English   中英

如何使用OpenXML設置表標題?

[英]How to set table caption with OpenXML?

我想為表格設置標題:

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();
                                        }
                                    }
                                }
                            }
                        }
                    }
                }

在您的代碼中,我猜該tableDocumentFormat.OpenXml.Wordprocessing.Table 這不是此元素的有效父級。 TableCaption應該添加到TableProperties元素<w:tblPr>

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

然后請注意,在2008年版本的ECMA-376中添加了<w:tblCaption>元素,因此Word 2007不支持此元素。 TableCaption類僅自Office2010起可用。

要添加/查看此標題,請執行以下操作:

右鍵單擊表格->屬性->文本/替換

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM