2013-12-17 17 views
0

我正在使用Open XML SDK生成一個簡單的Word(docx)文檔。我認爲我正在努力的是如何停止表格單元格內容的包裝。這是我生成表格單元格代碼:如何指定Word TableCell不應使用Open XML SDK進行打包?

private TableCell CreateTableCell(string text, int padding) 
{ 
    string marginWidth = padding.ToString(CultureInfo.InvariantCulture); 

    return new TableCell(
     new Paragraph(new Run(new Text(text))), 
     new TableCellProperties(
      new TableCellWidth { Type = TableWidthUnitValues.Auto }, 
      new NoWrap(), 
      new TableCellMargin(
       new LeftMargin { Type = TableWidthUnitValues.Dxa, Width = marginWidth }, 
       new TopMargin { Type = TableWidthUnitValues.Dxa, Width = marginWidth }, 
       new RightMargin { Type = TableWidthUnitValues.Dxa, Width = marginWidth }, 
       new BottomMargin { Type = TableWidthUnitValues.Dxa, Width = marginWidth }))); 
} 

這導致其即使我指定的汽車類型「DXA」 ---而不是「自動」的---表格單元格的寬度。而且,如果我手動將所有這些「dxa」值替換爲「auto」,則在xml文檔中,文檔將按需要。所以,顯然我的「自動」值被忽略。

缺少什麼我在這裏?

回答

0

您不會爲單個單元格或Word中的整個表格找到文本換行。 See here

你可以做的是;如果文本超過列寬,則設置單詞的屬性,其中它調整列的大小。

設置TableCellWidth屬性不會幫助你與文本換

Table Layout屬性添加到其中容納細胞表並將其值設置爲「自動」,也可以完全忽略的財產。

希望這會有所幫助。

-1
var cellProperties = new TableCellProperties(new NoWrap { Val = OnOffOnlyValues.On }); 
cell.AppendChild(cellProperties); 
相關問題