2013-12-17 5 views
0

Я создаю простой документ Word (docx), используя Open XML SDK. Думаю, я боюсь, как остановить содержимое ячейки таблицы из упаковки. Вот мой код для создания ячейки таблицы:Как указать, что Word TableCell не следует обертывать с помощью SDK Open XML?

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» на «auto» вручную, в XML-документе, тогда документ будет таким, как требуется. Итак, ясно, что мое «авто» значение игнорируется.

Что мне здесь не хватает?

ответ

0

Вы не найдете перенос текста для отдельных ячеек или всей таблицы в Word. See here.

Что вы можете сделать, так это; установите свойство слова, в котором он изменяет размеры столбцов, если текст превышает ширину столбца.

Установки свойства TableCellWidth не поможет вам с текстом завернуть

Добавьте Table Layout свойства таблицы в котором находится клетка и установите его значение на «авто» или вы можете опустить свойство целиком.

Надеюсь, это поможет.

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

 Смежные вопросы

  • Нет связанных вопросов^_^