Я пытаюсь использовать библиотеку Microsoft OpenXML 2.5 для создания документа OpenXML. Все отлично работает, пока я не попытаюсь вставить строку HTML в свой документ. Я прочесываю сеть, и вот что я до сих пор придумал (перерезал только ту часть, с которой у меня возникают проблемы):
Paragraph paragraph = new Paragraph();
Run run = new Run();
string altChunkId = "id1";
AlternativeFormatImportPart chunk =
document.MainDocumentPart.AddAlternativeFormatImportPart(
AlternativeFormatImportPartType.Html, altChunkId);
chunk.FeedData(new MemoryStream(Encoding.UTF8.GetBytes(ioi.Text)));
AltChunk altChunk = new AltChunk { Id = altChunkId };
run.AppendChild(new Break());
paragraph.AppendChild(run);
body.AppendChild(paragraph);
Очевидно, что в этом примере я не добавил altChunk, но я попытался добавить его повсюду - в run, paragraph, body и т.д. В любом случае я не могу открыть файл docx в Word 2010.
Это делает меня немного сумасшедшим, потому что кажется, что это должно быть просто (я признаю, что я не полностью понимаю вещь "AltChunk" ). Поблагодарили бы за любую помощь.
Боковое примечание. Я обнаружил, что это было интересно, и я не знаю, действительно ли это проблема или нет, этот ответ, в котором говорится, что AltChunk развращает файл при работе с MemoryStream. Кто-нибудь может подтвердить, что это/неверно?