Не читаемый документ Word после удаления границ ячейки (OpenXml.Wordprocessing) - PullRequest
0 голосов
/ 12 ноября 2018

После создания TableCellProperties и удаления TableCellBorders слово document становится нечитаемым, и я получаю:

Word обнаружил нечитаемый контент в test.docx. Вы хотите восстановить содержимое этого документа? Если вы доверяете источнику этого документа, нажмите Да.

Код, который я использую:

TableCellProperties cellProp = new TableCellProperties(
    new TableCellBorders(
        new TopBorder()
        {
            Val =
                new EnumValue<BorderValues>(BorderValues.Nil),
        },
        new BottomBorder()
        {
            Val =
                new EnumValue<BorderValues>(BorderValues.Nil),
        },
        new LeftBorder()
        {
            Val =
                new EnumValue<BorderValues>(BorderValues.Nil),

        },
        new RightBorder()
        {
            Val = new EnumValue<BorderValues>(BorderValues.Nil),
        }
    )
);
TableCell tc = new TableCell();


tc.Append(cellProp);

TableRow trTest = new TableRow();
trTest.Append(new TableCell(tc.OuterXml));
trTest.Append(new TableCell(new Paragraph(new Run(new Text("B")))));
trTest.Append(new TableCell(new Paragraph(new Run(new Text("C")))));
trTest.Append(new TableCell(new Paragraph(new Run(new Text("D")))));
trTest.Append(new TableCell(new Paragraph(new Run(new Text("E")))));
trTest.Append(new TableCell(new Paragraph(new Run(new Text("F")))));
t.Append(trTest);

BorderValue установлен на Nil, поскольку None, похоже, не удаляет границы. После процедуры автоматического восстановления MS Word, файл в порядке. Чем может быть вызвана такая проблема?

1 Ответ

0 голосов
/ 13 ноября 2018

Проблема решена!

Каждая ячейка таблицы должна содержать / заканчиваться Paragraph объектом, поэтому решение:

tc.Append(cellProp);
tc.Append(new Paragraph());

Похоже, у меня та же проблема, что и в этот вопрос , но без ошибки.

...