0

1 つの .docx ファイルとDictionary<string,string>. ドキュメントを調べて、テキスト eqaul を のDictionary.Key対応する値に置き換える必要がありますDictionaryMicrosoft.Office.InteroptCOMオブジェクトを生成するライブラリを使用したくないため、サーバー上にあります。私が好む解決策についてはOpenXML、しかし私にとってウェブ上にはそれに対する実用的な解決策はありません。Eric White のこのソリューションを見つけまし た。それは私にはうまくいきませんでした。正確には、メソッドを実行しSearchAndReplaceましたが、ドキュメントに変更はありません。メソッドを調べたところ、問題はメソッドmethod にあることがわかりました。これは、ストリームを取得することで指定された場所PutXmlInDocumentに保存されます。を使用するか、何を保存するかに関する他の解決策はありますか?XmlDocumentOpenXmlPartOpenXMLXmlDocumentOpenXmlPart

保存に失敗したのはその方法です:

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

I contacted to blogger, and asked about this situation. At last I reach to this solution. If replacing is 1 per WordprocessingDocument then Eric White's solution works great. But if it is more than 1, then after compliting all replacements the below method must be called before doing something with WordprocessingDocument.

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