Laden...

Auslesen von Word2007-Dokumenten

Erstellt von Sponk vor 13 Jahren Letzter Beitrag vor 13 Jahren 1.557 Views
S
Sponk Themenstarter:in
2 Beiträge seit 2010
vor 13 Jahren
Auslesen von Word2007-Dokumenten

Hi,

ich hoffe mal ich hab das richtige Unterforum erwischt.

muss an der Uni gerade eine Abfrage programmieren mit der man ein .docx Dokument nach einer bestimmten Tabelle durchsuchen und diese dann als HTML Darstellen kann.

Leider komme ich mit meiner Planung nicht so recht voran, da ich viele ungelöste Probleme habe (muss dazu sagen habe noch nie in C# oder XML etwas programmiert)

Geplante Vorgehensweise:

  1. das docx wird automatisch in .zip umbenannt damit es entzippt werden kann
  2. das zip archiv wird entpackt ; dazu habe ich das tool hier gefunden, damit sollte das hoffentlich klappen: http://www.icsharpcode.net/OpenSource/SharpZipLib/

Denkt ihr das entzippen funktioniert so, oder habt ihr vielleicht nen besseren Lösungsansatz?

  1. dann wird die document.xml nach den schlüsselwörtern durchsucht.

und hier ist jetzt meine eigentliche frage:

Wie mache ich das am besten?
Brauche ich dazu einen XML nach C# Parser? Und wenn ja, könnt ihr mir da einen empfehlen.
Gibt es irgendwo eine gescheite übersicht was die einzelnen XML-Tags machen?

Oder kann ich da vllt einfach nach bestimmten String-Mustern suchen?
z.b. nach der Überschrift der Tabelle und ab da dann nach jedem mal wenn "<w:t>" auftaucht (was einen Text angibt) alle Zeichen bis das XML-Tag wieder mit "</w:t>" geschlossen wird.

  1. Die ausgelesenen Daten werden auf ner Homepage dargestellt (hierzu existiert der Code schon)

Ist die Grundsätzliche vorgehensweise überhaupt so durchführbar, oder ist mein Ansatz schon falsch/unnötig kompliziert?

Hoffe konnte mich halbwegs verständlich ausdrücken.
Schonma vielen dank im Vorraus

mfg Sponk

Gelöschter Account
vor 13 Jahren

Die SharpZipLib funktioniert prima, die kannst du nehmen.
Was das mit dem umbenennen soll versteh ich allerdings nicht.
Eine Einführung und weiterführende Links zum OpenXML Format findest du hier:
http://msdn.microsoft.com/de-de/library/aa338205(office.12).aspx

Brauche ich dazu einen XML nach C# Parser?

Einen was? System.XML bietet dir eigentlich alles was du brauchst
wenn du dich etwas mit XPath auskennst. Mit String Schnipseln rumzuhantieren
ist 90er, da lernst du auch nix bei.

D
91 Beiträge seit 2005
vor 13 Jahren

Hallo Sponk!

Ich kann dir nur wärmstens das OpenXML-SDK von Microsoft empfehlen. Damit brauchst du dir gar keine Gedanken über die XML/string-Verarbeitung machen. Du kannst typsicher auf die ganzen Objekte im Dokument zugreifen.

Leider reicht meine Zeit nicht aus, um dir ein Beispiel zu geben, aber mit dem Stichwort solltest du Informationen finden.

OpenXML-SDK-Download

OpenXML Developer

Viele Grüße,
Florian

S
Sponk Themenstarter:in
2 Beiträge seit 2010
vor 13 Jahren

Vielen Dank euch beiden für die schnellen Antworten.

Mit den Hinweisen dürfte das ganze gut zu lösen sein. 👍

1.820 Beiträge seit 2005
vor 13 Jahren

Hallo!

Hilfreich könnte für dich auch noch Office Space: Erstellen von Office Open XML-Dateien sein, u.a. der dort genannte Package Viewer.

EDIT: Man kann auch docx direkt mit der SharpZipLib entpacken, umbenennen braucht man dazu nicht.

Nobody is perfect. I'm sad, i'm not nobody 🙁