如何用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();
}
}
}
}
}
}
}
在你的代码中,我猜table
是DocumentFormat.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之后可用。
添加/查看文字说明:
右键单击表格->属性->文本/替换