c#在DOCX中打开XML SDK更新附加模板

时间:2013-10-24 15:57:35

标签: c# docx openxml-sdk

我通过SharePoint Web服务从SharePoint文档库打开现有的.docx文件,并尝试将新模板附加到它们。这篇文章的当前代码似乎根本没有做任何事情。

XNamespace w = "http://schemas.openxmlformats.org/wordprocessingml/2006/main";
OpenXmlPart documentSettingsPart = document.MainDocumentPart.DocumentSettingsPart;
XDocument documentSettingsXDoc = documentSettingsPart.GetXDocument();

documentSettingsPart.AddExternalRelationship("http://schemas.openxmlformats/org/officeDocument/2006/relationships/attachedTemplate", new Uri(_outLibraryTemplate, UriKind.Absolute));

using (XmlWriter xw = XmlWriter.Create(documentSettingsPart.GetStream(FileMode.Create, FileAccess.Write)))
    documentSettingsXDoc.Save(xw);

有没有人想过为什么这不起作用 - 我需要做些什么才能实现这一目标?

1 个答案:

答案 0 :(得分:0)

这可能会有所帮助。它从dotx文件创建一个新的docx文件。

我为自己的用途修改了一点 - 我将外部关系(一个dotm)添加到现有文件中。不幸的是,如果我可以轻松地以编程方式更新样式而无需实际打开文件,那么我还无法解决。

http://blogs.msdn.com/b/vsod/archive/2012/02/18/how-to-create-a-document-from-a-template-dotx-dotm-and-attach-to-it-using-open-xml-sdk.aspx