2012-09-19 84 views
5

我有一个奇怪的问题,使用Open XML生成.docx。我有一个TableCell具有Paragraph然后Run那么产生这样Text打开XML段落间距

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

GetPropertiesForStyle方法返回ParagraphProperties的特定段落,并设置样式。这一切都可以正常工作,但是在表格行中,第一个单元格在之前似乎具有双倍间距,而最后一个单元格之后具有双倍间距 - 中间的所有单元格都非常精细。

enter image description here

我的风格的配置是这样的:

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> 

任何想法是怎么回事?

回答

5

管理加入到解决这个问题下面以我的风格:

new ContextualSpacing() { Val = false } 

告诉字取消选中不要在段落的选项相同的样式的段落之间添加空间。