Seite 1 von 1

Text in Tabelle umwandeln

Verfasst: Do, 29.05.2008 16:42
von Wolf-Tilmann
Hallo Zusammen,

mal wieder ein Problem.

Ich bekomme regelmäßig schön mit einem Editor erstellte Dateien, eigentlich im Html-format. Diese Dateien enthalten - optisch - schön dargestellte Tabellen. Leider sind die Tabellen nicht als Tabellen, sondern als Text mit Leerzeichen getrennt aufgebaut.


So sieht es z.B. optisch aus:
         620012    AD Saniergungsgeld     99065144   15.03.2007                        74,72-                          
         620012    AD Saniergungsgeld     99069706   15.04.2007                        47,04-                          
         620012    AD Saniergungsgeld     99091191   15.05.2007                        47,04-                          
         620012    AD Saniergungsgeld     99106319   15.06.2007                        47,04-                                           
[[/quote]

Der Quellcode so:

Code: Alles auswählen

<br><font face="courier new" size="2"><span style="white-space:nowrap"><font face="courier new" size="2"><nobr style= background:#E8EAD8 id=l0086002>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;620012&nbsp;&nbsp;&nbsp;&nbsp;AD&nbsp;Saniergungsgeld&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;99091191&nbsp;&nbsp;&nbsp;15.05.2007&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;47,04-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</nobr></font></span></font><br><font face="courier new" size="2"><span style="white-space:nowrap"><font face="courier new" size="2"><nobr style= background:#E8EAD8 id=l0087002>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;620012&nbsp;&nbsp;&nbsp;&nbsp;AD&nbsp;Saniergungsgeld&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;99106319&nbsp;&nbsp;&nbsp;15.06.2007&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;47,04-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</nobr></font></span></font><br><font face="courier new" size="2"><span style="white-space:nowrap"><font face="courier new" size="2"><nobr style= background:#E8EAD8 id=l0088002>&nbsp;</nobr></font></span></font><br><font face="courier new" size="2"><span style="white-space:nowrap"><font face="courier new" size="2"><nobr style= background:#E8EAD8 id=l0089002>&nbsp;</nobr></font></span></font><br><font face="courier new" size="2"><span style="white-space:nowrap"><font face="courier new" size="2"><nobr style= background:#E8EAD8 id=l0090002>&nbsp;</nobr></font></span></font><br><font face="courier new" size="2"><span style="white-space:nowrap"><font face="courier new" size="2"><nobr style= background:#E8EAD8 id=l0091002>&nbsp;</nobr></font></span></font><br>
Besteht die Möglichkeit diese Tabellen in Calc zu importieren und zwar so, dass man damit arbeiten kann?

Datenverarbeitung zu Fuss,

Allerseits schönen Gruß

Re: Text in Tabelle umwandeln

Verfasst: Do, 29.05.2008 18:41
von AhQ
Hallo,

im Normalfall kann man alles irgendwie importieren, was digital vorliegt. :D

Wenn ich die Tabelle, so wie Du sie hier reinkopiert hast, nehme und in Calc kopiere, kommt bei mir automatisch das Textimport-Menü. Da gibt es auch einen Punkt "Feste Breite". Kannst Du damit nicht einfach Dir die Spalten selber festlegen? Oder kommt das aus Deiner Datei nicht so schön rüber wie wenn man Deine hier reingestellte Tabelle kopiert?

Ansonsten könntest Du doch einfach den Quellcode in einen Editor oder den Writer kopieren und die html-Zeichen mit Suchen&Ersetzen langsam löschen? Vielleicht kann man das dann auch noch als Makro irgendwie gestalten?

Aber zumindest mit der Tabelle, so wie Du sie hier reingestellt hast, geht es am leichtesten mit den festen Spaltenbreiten.

Viele Grüße
AhQ

Re: Text in Tabelle umwandeln

Verfasst: Fr, 30.05.2008 07:48
von Wolf-Tilmann
AhQ hat geschrieben:Wenn ich die Tabelle, so wie Du sie hier reinkopiert hast, nehme und in Calc kopiere, kommt bei mir automatisch das Textimport-Menü. Da gibt es auch einen Punkt "Feste Breite". Kannst Du damit nicht einfach Dir die Spalten selber festlegen? Oder kommt das aus Deiner Datei nicht so schön rüber wie wenn man Deine hier reingestellte Tabelle kopiert?[/q[ote]

Habe es schon versucht, Datei --> öffnen --> Dokumenttyp, funktioniert aber nicht.
Bei "HTML-Dokument" und "Webseitenabfrage" unter "Tabellenkalkulation" wird alles zusammen importiert, das Textimport-Menü erscheint nicht einmal.
Bei "csv, txt" unter "Tabellenkalkulation" bekomme ich zwar das Textimportmenü, aber alles ist in einer Zeile.

[im[http://b.imagehost.org/0519/Texttabelle2.png[/img]

Oberhalb der "Tabelle" steht noch einiges an Text.
Unpraktisch für die Umwandlung ist, dass der Programmierer, um es hübscher aussehen zu lassen das Dokument mit Leerzeichen zwischen den Buchstaben aufgepeppt.

[i[g]http://b.imagehost.org/0214/Texttabelle1.png[/img]
Das Graue ist Original so.

Hoffentlich trifft DEN Typ, der das fabriziert hat möglichst bald der Blitz beim Sch...[[size] Kleine Zusatzmeckerei: Habe eine Kollegin, die unsere Adressbestände immer als MS-Word-Dokument anlegt. Sie will ja Briefe schreiben und nicht mit den Adressen rechnen. Könnt Ihr Euch vorstellen, was das jedesmal für eine Heidenarbeit ist, die Adressen in eine Tabelle zu bekommen? Besonders doof ist, dass die dumme Trulla die Tabellen immer löscht. Begründung s.o.[/siz[] Sorry wegen der Ausdruckweise, bin gefrustet.

Ansonsten könntest Du doch einfach den Quellcode in einen Editor oder den Writer kopieren und die html-Zeichen mit Suchen&Ersetzen langsam löschen?[/[uote]
Damit habe ich auch schon herumgebastelt.
Aber zumindest mit der Tabelle, so wie Du sie hier reingestellt hast, geht es am leichtesten mit den festen Spaltenbreiten.
Schön wäre es :D
Im Original sieht es so aus:
Bild
Das Graue ist Original so.

Grüße zurück

P.S. stimmt etwas mit dem Parser nicht? Musste mehrmals den BBCode ändern. War nach der Vorschau zerhackstückelt.

Re: Text in Tabelle umwandeln

Verfasst: Fr, 30.05.2008 08:57
von AhQ
Hallo,

kannst Du vielleicht uns mal so ne Datei zur Verfügung stellen? Aber vergiß nicht, persönliche Daten vorher rauszunehmen! Weil im Moment kann man nur raten, wo der Haken liegt.
Wolf-Tilmann hat geschrieben:Habe es schon versucht, Datei --> öffnen --> Dokumenttyp, funktioniert aber nicht.Bei "HTML-Dokument" und "Webseitenabfrage" unter "Tabellenkalkulation" wird alles zusammen importiert, das Textimport-Menü erscheint nicht einmal.Bei "csv, txt" unter "Tabellenkalkulation" bekomme ich zwar das Textimportmenü, aber alles ist in einer Zeile.[/q[ote]
So hab ich das auch nicht gemeint. Ich hab einfach die Tabelle, so wie Du sie hier im Forum reingestellt hast, markiert, kopiert und dann in eine Zelle von Calc eingefügt. Da kommt dann bei mir das Textimport-Menü.

Aber wie gesagt, solange wir nicht die Datei wirklich sehen, können wir im Grunde nur raten.

Viele Grüße
AhQ

Re: Text in Tabelle umwandeln

Verfasst: Fr, 30.05.2008 19:52
von turtle47
Hallo Zusammen,

folgende Tabelle aus dem ersten Posting habe ich mal in die Zwischenablage kopiert und anschliessend in eine Textdatei eingefügt.

Code: Alles auswählen

         620012    AD Saniergungsgeld     99065144   15.03.2007                        74,72-                          
         620012    AD Saniergungsgeld     99069706   15.04.2007                        47,04-                          
         620012    AD Saniergungsgeld     99091191   15.05.2007                        47,04-                          
         620012    AD Saniergungsgeld     99106319   15.06.2007                        47,04- 

Dann habe ich diese Textdatei in Calc importiert mit dem Parameter "feste Breite".

Das sieht dann wirklich unschön aus mit den vielen Leerzeichen.
Aber kein Problem. Dann habe ich folgendes Makro gestartet:

Code: Alles auswählen

Sub Textimport_Zerlegen

	Dim myDoc as object
	Dim mysheet as object

	mydoc = ThisComponent
	mysheet = mydoc.sheets(0)
	oCellCursor = mySheet.createCursor()
	oCellCursor.GotoEndOfUsedArea(True)'letzte beschriebene Zeile suchen
	letzte_Zeile = oCellCursor.getRangeAddress.EndRow 
	z = 1
	for i = 0 to letzte_Zeile
	myRange = mysheet.getCellByPosition(0,i)
	mySuchen = myRange.createReplaceDescriptor	
	mySuchen.setSearchString(" ")
	mySuchen.setReplaceString("")
	myrange.replaceAll(mySuchen)
	
	myFormula_1 = mysheet.getCellByPosition(1,i)
	myFormula_1.formula ="=LEFT(A" & z & ";6)"
	
	myFormula_2 = mysheet.getCellByPosition(2,i)
	myFormula_2.formula="=MID(A" & z & ";7;2)"
	
	myFormula_3 = mysheet.getCellByPosition(3,i)
	myFormula_3.formula="=MID(A" & z & ";9;15)"
	
	myFormula_4 = mysheet.getCellByPosition(4,i)
	myFormula_4.formula="=MID(A" & z & ";24;8)"
	
	myFormula_5 = mysheet.getCellByPosition(5,i)
	myFormula_5.formula="=MID(A" & z & ";32;10)"
	
	myFormula_6 = mysheet.getCellByPosition(6,i)
	myFormula_6.formula="=MID(A" & z & ";42;5)"
	z = z +1
	next i	
End Sub
Die Leerzeichen aus den Zellen der Spalte A werden entfernt und der Text "zerlegt in den Zellen der Spalten B bis G ausgegeben.

Hier mal die Beispieldatei:
Textimport_zerlegen.ods
(11.25 KiB) 54-mal heruntergeladen
Ich hoffe das hilft weiter.

Jürgen

Re: Text in Tabelle umwandeln

Verfasst: Mo, 02.06.2008 08:09
von Wolf-Tilmann
Hallo turtel47,

vielen Dank.

Nach Deinem Tip habe ich die html-Dateien in reinen Text umgewandelt (html2text).
Nach Calc mit fester Spaltenbreite importiert.
Nur die notwendigen Bereich (die Tabellen) in neue Tabellendokumente kopiert und verarbeitet.

Das hat wirklich super funktioniert und ist einfach.

Das Makro leider nicht. Die Zahlen in der letzten Spalte waren lediglich im Beispiel 2+2-stellig. Im Original 1-5-Stellig mit 2 Nachkommastellen. Die Info von mir hat gefehlt.

Aber macht absolut nichts, wie oben geschrieben funktioniert es mit den festen Spaltenbreiten.

Vielen Dank