c# – 以编程方式填充.NET中的Word文档(OpenXML)中的内容控件
发布时间:2020-12-15 21:21:09 所属栏目:百科 来源:网络整理
导读:我有一个非常简单的单词文档与内容控件(所有文本). 我想遍历控件,用字典中的值填充它们.应该超级简单,但有些不对劲: var myValues = new Dictionarystring,string(); //And fill itusing (var wordDoc = WordprocessingDocument.Open(outputFile,true)){ Ma
我有一个非常简单的单词文档与内容控件(所有文本).
我想遍历控件,用字典中的值填充它们.应该超级简单,但有些不对劲: var myValues = new Dictionary<string,string>(); //And fill it using (var wordDoc = WordprocessingDocument.Open(outputFile,true)) { MainDocumentPart mainPart = wordDoc.MainDocumentPart; foreach(SdtElement sdt in mainPart.Document.Descendants<SdtElement>()) { SdtAlias alias = sdt.Descendants<SdtAlias>().FirstOrDefault(); if (alias != null) { string sdtTitle = alias.Val.Value; sdt.??? = myValues[sdtTitle]; } } mainPart.Document.Save(); } 如何将我的价值写入文件? 解决方法
如果你要做那样的事情,你需要在Sdt的SdtContent中写出合适的内容:一个段落或一个run或tc等,具体取决于sdt的父元素.
另一种方法是将字典的内容放入CustomXml部分,并在每个引用相关字典元素的内容控件上设置数据绑定.然后Word将在首次打开docx时解析绑定(如果您希望用户使用其他内容打开它,这对您来说不是很好). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |