У меня есть шаблон документа, который я хочу динамически заполнить, используя C#. Шаблон содержит повторяющийся раздел с несколькими текстовыми полями и текстом stati c. Я хочу иметь возможность заполнять текстовые поля и добавлять новые элементы раздела, когда это необходимо.
Код, который работает почти , выглядит следующим образом:
WordprocessingDocument doc = WordprocessingDocument.Open(@"C:\in\test.docx", true);
var mainDoc = doc.MainDocumentPart.Document.Body
.GetFirstChild<DocumentFormat.OpenXml.Wordprocessing.SdtBlock>()
.GetFirstChild<DocumentFormat.OpenXml.Wordprocessing.SdtContentBlock>();
var person = mainDoc.ChildElements[mainDoc.ChildElements.Count-1];
person.InsertAfterSelf<DocumentFormat.OpenXml.Wordprocessing.SdtBlock>(
(DocumentFormat.OpenXml.Wordprocessing.SdtBlock) person.Clone());
Это однако создает поврежденный файл, потому что уникальные идентификаторы также дублируются методом Clone.
Есть идеи о том, как достичь моей цели?