我正在尝试创建带有标题的表。我希望对表所使用的每个新页面重复此 header 。如何在C#和OpenXml Wordprocessing中做到这一点?

DocumentFormat.OpenXml.Packaging.WordprocessingDocument internalDoc =
DocumentFormat.OpenXml.Packaging.WordprocessingDocument.Open(stream, true);

var tables = wordDoc.MainDocumentPart.Document.Descendants<SdtBlock>().Where
( r => r.SdtProperties.GetFirstChild<Tag>().Val.Value.StartsWith(DATA_TABLE_TAG));

Table table = tables.Descendants<Table>().Single();
//Here can I set some property to repeat the header of the table?

最佳答案

正如Chris所说的,您需要的是TableHeader类的实例。它需要附加到标题行的TableRowProperties中:

var row = table.GetFirstChild<TableRow>();

if (row.TableRowProperties == null)
    row.TableRowProperties = new TableRowProperties();

row.TableRowProperties.AppendChild(new TableHeader());

10-08 08:38