我有一個.docx文件和Dictionary<string,string>
。我需要查看文檔,並將Dictionary.Key
的文本eqaul替換爲Dictionary
中的相應值。它將在服務器上,因爲我不想使用Microsoft.Office.Interopt
庫生成COM對象。對於我最喜歡的解決方案OpenXML
,但在網絡上我沒有工作解決方案。我發現this solution of Eric White。它不適合我。完全可以說,我運行方法SearchAndReplace
,但文檔沒有變化。我經歷了這些方法,發現問題出在方法PutXmlInDocument
方法中,通過獲取流的方法將XmlDocument
節省到給定的OpenXmlPart
。是否有任何其他解決方案使用OpenXML
或做什麼保存XmlDocument
到OpenXmlPart
?如何使用OpenXML搜索和替換Word文檔中的文本?
這是一個方法,儲蓄是不成功的:
public static void PutXmlDocument(OpenXmlPart part, XmlDocument xmlDoc)
{
using (Stream partStream = part.GetStream(FileMode.Create, FileAccess.Write))
using (XmlWriter partXmlWriter = XmlWriter.Create(partStream))
xmlDoc.Save(partXmlWriter);
}
http://www.codeproject.com/Articles/87711/Manipulate-Docx-with-C-without-Microsoft-Word-inst – 2013-04-26 14:00:55
它是在一個段落?它在桌子上嗎?它在標題中嗎?它在頁腳?這些值在docx中有多少?如果有不止一個,你想要全部替換還是隻替換第一個?我們需要更多信息。 – jn1kk 2013-04-26 14:05:20
我對此沒有任何信息。我有一個「搜索值」列表和一個「新值」列表。我需要搜索「搜索值」並將其更改爲「新值」。它可以是你上面寫的每一個。 – Javidan 2013-04-26 14:10:32