Ich habe ein Word-Dokument (2003). Ich verwende Powershell, um den Inhalt des Dokuments zu analysieren. Das Dokument enthält oben ein paar Zeilen Text, ein Dutzend Tabellen mit unterschiedlicher Anzahl von Spalten und dann etwas mehr Text.Lesen Sie Word-Dokument (* .doc) Inhalt mit Tabellen usw.
Ich erwarte, dass das Dokument als so etwas wie die unten in der Lage sein zu lesen:
- Dokument lesen (erforderlich machen, Objekte usw.)
- jede Textzeile Get
- Wenn nicht Teil einer Tabelle , Prozess als Text und Write-Output
- sonst
- Wenn ein Teil einer Tabelle
- Get Tabellennummer (im Auftrag) und Ausgabe analysiert basierend auf col UMNS
- end if
Unten ist die Powershell-Skript, das ich angefangen habe zu schreiben:
$objWord = New-Object -Com Word.Application
$objWord.Visible = $false
$objDocument = $objWord.Documents.Open($filename)
$paras = $objDocument.Paragraphs
foreach ($para in $paras)
{
Write-Output $para.Range.Text
}
Ich bin nicht sicher, ob Absätze ist das, was ich will. Gibt es etwas, das besser zu meinem Zweck passt? Alles, was ich jetzt bekomme, ist der gesamte Inhalt des Dokuments. Wie kontrolliere ich, was ich bekomme? Wie ich eine Zeile erhalten möchte, kann ich feststellen, ob es Teil einer Tabelle ist oder nicht, und eine Aktion basierend auf der Nummerntabelle ausführen.
Word-Dokumente sind nicht in Linien organisiert. Bitte machen Sie einen Schritt zurück und beschreiben Sie das Problem, das Sie lösen möchten und nicht das, was Sie als Lösung wahrnehmen. –
Sicher - danke für die Antwort ... So habe ich dieses Word-Dokument, das etwas Text und etwa 5 oder 6 Tabellen enthält. Jede Tabelle hat eine variierende Anzahl von Spalten von 2 bis 6. Die erste Zeile in jeder Tabelle beschreibt den Header. Was ich versuche zu erreichen ist (mit Powershell), um das Dokument zu lesen, den Inhalt der Tabellen zu analysieren und SQL-Anweisungen auszugeben, die getrennt von einer Oracle-Datenbank ausgeführt werden können. Jetzt habe ich viele solche Dokumente und jeder von ihnen ist in der Struktur ähnlich. Aber jeder kann mehr oder weniger Zeilen in den Tabellen haben. – Anoop