Вложенные таблицы OpenXML

Я пытаюсь вставить таблицу в TableCell, но когда я пытаюсь открыть ее в MS Word, я получаю сообщение типа: "a <p> is required before a </tc>".

Когда я открываю файл в режиме совместимости, форматирование таблицы выглядит идеально, но строки таблицы отсутствуют. Вставка простого текста в ячейку работает нормально, проблема возникает только при попытке вставить всю таблицу.

Вставка таблицы в документ вне другой таблицы также работает нормально.


person flayn    schedule 19.12.2010    source источник


Ответы (1)


Если вы создадите структуру вложенной таблицы в Word и посмотрите на полученный XML, вы увидите что-то вроде:

      <w:tc>
        <w:tcPr>
          <w:tcW w:w="4621" w:type="dxa"/>
        </w:tcPr>
        <w:tbl>..</w:tbl>
        <w:p/>
      </w:tc>

Судя по сообщению, вам нужно ‹w:p/> после вашей таблицы и перед закрывающим тегом tc.

person JasonPlutext    schedule 19.12.2010
comment
Я делаю это в коде. Я создал новый абзац, добавил его в TableCell и добавил таблицу в абзац, но затем получил неуказанную ошибку. Завтра опубликую пример кода. - person flayn; 20.12.2010
comment
Не добавляйте w:tbl к w:p. Добавьте w:tbl непосредственно в w:tc, затем добавьте новый w:p в w:tc. - person JasonPlutext; 20.12.2010