1
我正在研究一些代碼來處理已存在的.DOTX模板文件中的書籤。對於此問題,某些書籤旨在指向另一個.DOTX文件並將其插入當前文檔。將模板插入到模板中 - C#Open XML SDK 2.0/2.5
我很難找到一種方法來做到這一點,沒有一些重要的操作和挖掘第二個模板中的每個元素,並在當前文檔中創建一個類似的元素。
任何人有任何想法的方式來做到這一點很容易?
我正在研究一些代碼來處理已存在的.DOTX模板文件中的書籤。對於此問題,某些書籤旨在指向另一個.DOTX文件並將其插入當前文檔。將模板插入到模板中 - C#Open XML SDK 2.0/2.5
我很難找到一種方法來做到這一點,沒有一些重要的操作和挖掘第二個模板中的每個元素,並在當前文檔中創建一個類似的元素。
任何人有任何想法的方式來做到這一點很容易?
原來比我想象的容易。
foreach (BookmarkStart bookmark in mainDoc.RootElement.Descendants<BookmarkStart>().Where(b => String.Equals(b.Name, bookmarkName)))
{
var parent = bookmark.Parent;
using (WordprocessingDocument newTemplate = WordprocessingDocument.Open(template2, false))
{
var newTemplateBody = newTemplate.MainDocumentPart.Document.Body;
foreach (var element in newTemplateBody.Elements().Reverse<OpenXmlElement>())
{
parent.InsertAfterSelf<OpenXmlElement>((OpenXmlElement)element.Clone());
}
}
}
我顯然是在做正確的事情,但我是在一段中插入模板。該模板是一個表格,不能嵌套在段落中。這實際上是打破了我的文件。