打开XML段落间距

Pau*_*ann 5 c# openxml

我在使用Open XML生成.docx时遇到了一个奇怪的问题.我有一个TableCell具有Paragraph然后RunText像这样产生的:

tblRow.Append(new TableCell(new Paragraph(GetPropertiesForStyle("TableDescription"), new Run(new Text(colName)))));
Run Code Online (Sandbox Code Playgroud)

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 }
    )
),
Run Code Online (Sandbox Code Playgroud)

我使用生产力工具检查了生成的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>
Run Code Online (Sandbox Code Playgroud)

有什么想法发生了什么?

Pau*_*ann 5

通过在我的样式中添加以下内容来管理以解决此问题:

new ContextualSpacing() { Val = false }
Run Code Online (Sandbox Code Playgroud)

这告诉单词取消选中不要在段落选项中添加相同样式的段落之间的空格.