質問

Word(.docx)形式のテンプレートがあり、このテンプレート内のいくつかのプレースホルダーを自分のデータに置き換えたいのですが、このプロジェクトに適切なクラスがどこで見つかるか知っていますか?名前空間を知っているといいですね。 comクラスよりもdocx形式(xml)のWordドキュメントを処理するための新しいクラスはありますか?あなたのすべての答えをありがとう、誰かが私の問題で私を助けてくれることを願っています。

挨拶

セバスチャン

役に立ちましたか?

解決

新しいオフィス形式(docx、xlsxなど)は、xmlファイルのコレクションを含むzipファイルです。それを念頭に置いて、いくつかのアプローチがあります。

  1. http://www.microsoft.com/downloads/details.aspx?FamilyId=AD0B72FB-4A1D-4C52-BDB5-7DD7E816D046&displaylang=en

  2. docxファイルを解凍し、トークンの検索と置換を行ってから、zipでバックアップします。

openxmldeveloper.org には、この種のWebサイトがあります。また、SDKのベータバージョン2が既に出荷されていることに注意してください。

他のヒント

これを使用しました:

IEnumerable test2 = body.Elements()の要素から              where element.InnerText.Contains(" sdt")              要素を選択してください。

ところで、xmlを使用して、すべてのsdt-nodesを見つけるこのソリューションを見つけました

 NameTable nt = new NameTable();
        XmlNamespaceManager nsManager = new XmlNamespaceManager(nt);
        nsManager.AddNamespace("w", wordmlNamespace);

        XmlDocument xDoc = new XmlDocument();
        xDoc.Load(doc.MainDocumentPart.GetStream());

        XmlNodeList nodeList = xDoc.SelectNodes(@"./w:document/w:body//w:sdt", nsManager);

動作しますが、Open XML Format SDK 2.0ではこれを行う機会がありませんか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top