OpenXML SDK Productivity Tool

So jetzt wollen wir das in einem vorangegangenen Post (“Hello World mit OpenXML”) erstellte Word-Dokument mit dem OpenXML SDK Productivity Tool öffnen. Das Word-Dokument sollte noch im Bin-Verzeichnis (entweder unter Debug oder Release) der .Net-Anwendung “HelloWorldOpenXML”  liegen.

Im linken Bereich befindet sich der sogenannte „Dokument Explorer“. Klicken Sie auf den Knoten []/word/document.xml. Wählen Sie anschließend den Knoten „<>w:document (Document)“ aus und klicken Sie anschließend in der Toolbar auf „Reflect Code“. Es sollte sich anschließend in etwa das folgende Bild ergeben:

ProductivityTool_Bild1

Im rechten oberen Bereich sieht man die XML-Struktur des erstellten Word-Dokuments. Im unteren rechten Bereich hat das Tool automatisch Code generiert, der diese XML-Struktur erzeugen kann. Wie man sieht, ist dieser Code (bis auf Formatierungen) fast identisch mit dem Code, den wir in unserem HelloWorld Beispiel verwendet haben. Das Tool kann damit sehr hilfreich sein, wenn Sie ein fertiges Office-Dokument haben und z.B. Teile daraus per Programmcode generieren möchten. Man kann sich dann einfach mit diesem Tool den erforderlichen C#-Code besorgen.

Das Tool hat aber noch andere wichtige Funktionalitäten:

1. Validate: Hiermit ist es möglich bei einem korrupten Dokument genau zu bestimmen, wo genau das Problem ist. Wenn Sie beginnen Office-Dokumente per Code zu generieren, kommt es normalerweise häufiger vor, dass Sie Dokumente produzieren, die sich aus irgendeinem Grund nicht öffnen lassen. Dann ist diese Funktionalität sehr nützlich.

2. Compare-Files: Sehr nützlich um zwei Dokumente zu vergleichen. So kann man z.B. mit Word in einem Dokument eine kleine Änderung machen (z.B. Textfarbe ändern, oder Formatierun in Fett ändern) und anschließend feststellen, welche Auswirkungen das auf die XML-Struktur hat. Daraus kann man sich dann wieder den für diese Änderung erforderlichen Programmcode besorgen.

3. OpenXML Dokumentation: Unten links kann man die OpenXML Dokumentation aufrufen. Diese liefert sehr wichtige Hinweise, wenn man z.B. wissen will, welche Cild-Element ein bestimmter Knoten überhaupt haben kann.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s