OpenXML добавляет строки в существующую таблицу в Word

Я хочу добавить строки в существующую таблицу, в которой есть только строка заголовка. Я использую OpenXML, но не могу открыть документ Word из-за ошибки 0x80004005. Вот источник, я думаю, в порядке, но...:

public static byte[] WordDocument(List<List<string>> data)
{
  using (MemoryStream mem = new MemoryStream())
  {
    byte[] byteArray = File.ReadAllBytes(templatePath);
    mem.Write(byteArray, 0, (int)byteArray.Length);
    using (WordprocessingDocument wordDocument = WordprocessingDocument.Open(mem, true))
    {
      Table table = wordDocument.MainDocumentPart.Document.Body.Elements<Table>().First();
      foreach (var line in data)
      {
        TableRow tr = new TableRow();
        foreach (var column in line)
        {
          TableCell tc = new TableCell(new Paragraph(new Run(new Text(column))));
          tr.Append(tc);
        }
        table.Append(new TableRow());
      }
    }
    return mem.ToArray();
  }
}

document.xml: PasteBin


person Sándor Hatvani    schedule 04.10.2019    source источник
comment
Не могли бы вы прикрепить свою таблицу в файле Word? Я хотел бы поделиться с вами ответом   -  person Ranjith Murthy    schedule 04.10.2019
comment
Привет! Спасибо, что ответили мне. Конечно, я его создаю. Минутку, пожалуйста   -  person Sándor Hatvani    schedule 04.10.2019


Ответы (1)


Перемотать поток после записи в него. Ради интереса, зачем вообще использовать поток, а не просто загружать из документа напрямую?

Разве это не должно быть table.Append(tr); вместо table.Append(new TableRow());?

person Aaron Queenan    schedule 04.10.2019
comment
О, да. Ты прав! Я этого не заметил. Большое спасибо. :) - person Sándor Hatvani; 04.10.2019