我正在使用 .Net 创建带有动态表的 Word 文档。该文档可以跨越多个页面。我想在表格中添加一个表格标题,这样每个新页面都会有这个标题。我找到了这个文档,但没有别的: https ://docs.microsoft.com/en-us/dotnet/api/documentformat.openxml.wordprocessing.tableheader?view=openxml-2.8.1
这似乎说你可以做到这一点,但有没有人有任何代码示例:这是我目前制作表格的方式:
Dim table As New Table()
Dim tr As TableRow
Dim tc As TableCell
Dim paragraph As New Paragraph
Dim tblProp As New TableProperties(
New TableBorders(
New TopBorder() With {.Val = New EnumValue(Of BorderValues)(BorderValues.None), .Size = 0},
New BottomBorder() With {.Val = New EnumValue(Of BorderValues)(BorderValues.None), .Size = 0},
New LeftBorder() With {.Val = New EnumValue(Of BorderValues)(BorderValues.None), .Size = 0},
New RightBorder() With {.Val = New EnumValue(Of BorderValues)(BorderValues.None), .Size = 0},
New InsideHorizontalBorder() With {.Val = New EnumValue(Of BorderValues)(BorderValues.None), .Size = 0},
New InsideVerticalBorder() With {.Val = New EnumValue(Of BorderValues)(BorderValues.None), .Size = 0}
),
New TableStyle() With {.Val = "TableGrid"},
New TableWidth() With {.Width = "5000", .Type = TableWidthUnitValues.Pct}
)
table.AppendChild(Of TableProperties)(tblProp)
For Each acronym As Acronym In listOfAcronyms
tc = New TableCell
tr = New TableRow
tc.Append(New TableCellProperties(New TableCellWidth() With {.Type = TableWidthUnitValues.Dxa, .Width = "2400"}))
rPr = New RunProperties
newRun = New Run
fontSize = New DocumentFormat.OpenXml.Wordprocessing.FontSize
fontSize.Val = "12pt"
runFonts1 = New RunFonts() With {.Ascii = "Times New Roman"}
rPr.Append(runFonts1)
rPr.Append(fontSize)
newRun.Append(rPr)
newRun.Append(New Text(acronym.Abbreviation))
tc.Append(New Paragraph(newRun))
tr.Append(tc)
rPr = New RunProperties
newRun = New Run
tc = New TableCell
fontSize = New DocumentFormat.OpenXml.Wordprocessing.FontSize
fontSize.Val = "12pt"
runFonts1 = New RunFonts() With {.Ascii = "Times New Roman"}
rPr.Append(runFonts1)
rPr.Append(fontSize)
newRun.Append(rPr)
newRun.Append(New Text(acronym.Full_Text))
tc.Append(New Paragraph(newRun))
tr.Append(tc)
table.Append(tr)
Next
body.Append(table)