我在使用Open XML生成.docx时遇到了一个奇怪的问题。我的TableCell
Paragraph
然后生成Run
,然后生成Text
,如下所示:
tblRow.Append(new TableCell(new Paragraph(GetPropertiesForStyle("TableDescription"), new Run(new Text(colName)))));
GetPropertiesForStyle
方法返回特定段落的ParagraphProperties
并设置样式。这一切都很好,但是在表格行中,第一个单元格之前似乎有双倍间距,最后一个单元格之后有双倍间距 - 中间的所有单元格看起来都非常精细。
我的样式配置如下所示:
new Style(
new StyleName() { Val = "TableDescription" },
new StyleParagraphProperties(
new ParagraphBorders(
new BottomBorder() { Val = BorderValues.None }
),
new SpacingBetweenLines() { Before = "100", After = "100", Line = "200", LineRule = LineSpacingRuleValues.Exact },
new TableCellVerticalAlignment() { Val = TableVerticalAlignmentValues.Center }
)
),
我使用生产力工具检查了生成的XML,并且它完美地应用了这些属性。每个TableCell
都有以下配置(那里有一些额外的边距属性和一个着色器填充,为简洁我省略了。)
<w:tc>
<w:p>
<w:pPr>
<w:pStyle w:val="TableDescription" />
</w:pPr>
<w:r>
<w:t>Reporting Period</w:t>
</w:r>
</w:p>
</w:tc>
任何想法发生了什么?
答案 0 :(得分:5)
通过在我的样式中添加以下内容来管理解决此问题:
new ContextualSpacing() { Val = false }
告诉单词取消选中段落选项中不要在相同样式的段落之间添加空格。