Text in Tabelle umwandeln

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

Wolf-Tilmann
**
Beiträge: 36
Registriert: Di, 22.01.2008 13:35

Text in Tabelle umwandeln

Beitrag 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ß
OpenOffice.org 3.1.0
OOO310m19
Debian GNU/Linux Squeeze
AhQ
*******
Beiträge: 1096
Registriert: Fr, 15.06.2007 11:03
Wohnort: Regensburg
Kontaktdaten:

Re: Text in Tabelle umwandeln

Beitrag 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
Wolf-Tilmann
**
Beiträge: 36
Registriert: Di, 22.01.2008 13:35

Re: Text in Tabelle umwandeln

Beitrag 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.
OpenOffice.org 3.1.0
OOO310m19
Debian GNU/Linux Squeeze
AhQ
*******
Beiträge: 1096
Registriert: Fr, 15.06.2007 11:03
Wohnort: Regensburg
Kontaktdaten:

Re: Text in Tabelle umwandeln

Beitrag 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
turtle47
*******
Beiträge: 1849
Registriert: Mi, 04.01.2006 20:10
Wohnort: Rheinbach

Re: Text in Tabelle umwandeln

Beitrag 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
Software hat keinen Verstand - benutze deinen eigenen...!

Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Wolf-Tilmann
**
Beiträge: 36
Registriert: Di, 22.01.2008 13:35

Re: Text in Tabelle umwandeln

Beitrag 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
OpenOffice.org 3.1.0
OOO310m19
Debian GNU/Linux Squeeze
Antworten