如何用OpenXML设置表格标题

本文关键字:表格 标题 设置 OpenXML 何用 | 更新日期: 2023-09-27 18:05:12

我想为我的表格设置标题:

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

但是什么也没发生。怎么了?

UPADATE

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

如何用OpenXML设置表格标题

在你的代码中,我猜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之后可用。

添加/查看文字说明:

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