我有一個帶有內容控件(所有文本)的非常簡單的Word文檔。 我想遍歷控件,用字典中的值填充它們。應該是超級簡單,但有些是錯誤的:以編程方式在.NET中的Word文檔(OpenXML)中填充內容控件
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();
}
如何將我的值寫入文檔? 我需要一個CustomXmlPart嗎?
謝謝,但仍不確定如何解決問題。我只想用最簡單的方法寫入docx中的內容控件。 –
這裏列出的替代方案是一件壞事。在i4i案例之後,微軟已經改變了Office程序以刪除他們發現的任何自定義xml。 –
@斯科特,你(可以理解)困惑。您正在考慮「自定義xml標籤」,而不是自定義xml PARTS和數據綁定。詳見http://blogs.technet.com/b/gray_knowlton/archive/2009/12/23/what-is-custom-xml-and-the-impact-of-the-i4i-judgment-on-word。 aspx – JasonPlutext