Frage

Ich habe eine Vorlage in Word (.docx) -Format und will einige Platzhalter in dieser Vorlage mit eigenen Daten ersetzen, weißt du, wo ich die richtigen Klassen für dieses Projekt finden kann? Es wäre schön für mich, den Namensraum zu kennen. Gibt es neuere Klassen für Word-Dokumente im docx-Format (XML) als die COM-Klassen Handhabung? Vielen Dank für Ihre Antworten, ich hoffe jemand kann mir bei meinem Problem helfen kann.

Greets

Sebastian

War es hilfreich?

Lösung

Die neuen Office-Formate (docx, xlsx, usw.) sind ZIP-Dateien, die eine Sammlung von XML-Dateien enthalten. In diesem Sinne haben Sie ein paar Ansätze.

  1. Sie können das Open XML SDK unter http://www.microsoft.com/downloads/details.aspx?FamilyId=AD0B72FB-4A1D-4C52-BDB5-7DD7E816D046&displaylang=en

  2. Sie können die docx-Datei entpacken, eine Suche und für Ihre Token ersetzen, und zip es wieder nach oben.

Es gibt eine Website unter openxmldeveloper.org dass nur für diese Art der Sache ist. Auch bedenken, dass sie bereits Versand eine Beta-Version 2 des SDK.

Andere Tipps

Eric White hat sich auf genau dieses Thema in einem Office Open XML und C # .

Ich habe diese:

IEnumerable test2 = von Element in body.Elements ()              wo element.InnerText.Contains ( "SDT")              select-Element;

Durch die Art und Weise unter Verwendung von XML fand ich diese Lösung, die all sdt-Knoten

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

Es funktioniert aber nicht das Open XML Format SDK 2.0 geben Sie mir eine Chance für das?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top