0

我有一个 .docx 文件和Dictionary<string,string>. 我需要浏览文档,并将文本 eqaul 替换Dictionary.KeyDictionary. 它将在服务器上,因为我不想使用Microsoft.Office.Interopt生成 COM 对象的库。对于我更喜欢​​的解决方案OpenXML,但在网络上对我来说没有可行的解决方案。我找到 了 Eric White 的这个解决方案。它对我不起作用。确切地说,我运行方法SearchAndReplace但文档没有变化。我浏览了这些方法,发现问题出在方法方法中,它通过获取它的流来PutXmlInDocument保存XmlDocument给定的。OpenXmlPart是否有任何其他解决方案使用OpenXML或保存XmlDocumentOpenXmlPart什么?

这是保存不成功的方法:

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);

    }
4

1 回答 1

0

我联系了博主,询问了这个情况。最后我达到了这个解决方案。如果更换是 1 次,WordprocessingDocument那么 Eric White 的解决方案效果很好。但是如果它大于 1,那么在编译完所有替换之后,必须先调用下面的方法,然后再使用WordprocessingDocument.

WordprocessingDocument.Package.Close();
于 2013-05-01T13:10:59.270 回答