Xceed Docx Неверный интервал между абзацами в ячейках таблицы

Я использую библиотеку Xceed Docx для создания документа Word, который содержит множество таблиц со следующим форматированием.

Ожидается

Проблема в том, что библиотека, кажется, вставляет интервал перед первым абзацем ячеек, который отображается следующим образом.

Реальный рендеринг

Вот код, который я использую для создания таблицы

private Table InitTable(DocX document)
{
int rows = Util.ListNullOrEmpty(reponses) ? 3 : 2 + reponses.Count;
int columns = 6;

var table = document.AddTable(rows, columns);

table.Rows[0].MergeCells(4, 5);
table.Rows[0].Cells[0].Width = 34; // 12 mm
table.Rows[0].Cells[1].Width = 127.55; // 45 mm
table.Rows[0].Cells[2].Width = 104.88; // 37 mm
table.Rows[0].Cells[3].Width = 104.88; // 37 mm
table.Rows[0].Cells[4].Width = 104.88; // 37 mm

Border border = new Border(BorderStyle.Tcbs_thick, BorderSize.one, 10, System.Drawing.Color.Black);

List<string> enteteLigne1 = new List<string>
{
    "Column 1", "Column 2", "Column 3", "Column 4", "Column 5"
};

// Header : First row
for (int i = 0; i < columns -1; i++)
{
    SetCellBorder(table.Rows[0].Cells[i], border, 0b0000);
    FormatCellContent(table.Rows[0].Cells[i], enteteLigne1[i], "Arial", 10d, Alignment.center);
}

return table;
}

private void FormatCellContent(Cell cell, string content, string fontName, double fontSize, Alignment alignment)
{
var p = cell.Paragraphs.FirstOrDefault();
if (p == null)
{
    p = cell.InsertParagraph();
}

p.SpacingBefore(2.9); // 1 mm * 2.834645669 * 20 (OpenXML unit)
p.SpacingAfter(2.9);
p.Alignment = alignment;
p.Font(fontName);
p.FontSize(fontSize);
p.InsertText(content);

}

Единственная альтернатива — вставить код OpenXml в свойство Xml абзаца, но это было бы утомительно и каким-то образом противоречит цели использования библиотеки.

Что я сделал не так ?

заранее спасибо


person Der_Devil    schedule 20.07.2018    source источник


Ответы (1)


Вместо

table.Rows[0].Cells[0].Width = 34;

использовать

таблица.SetColumnWidth(0, 34);

который будет определять ширину столбца таблицы

person Narasimha Kashyap    schedule 19.09.2020
comment
Спасибо большое, попробую - person Der_Devil; 21.09.2020