Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1640to1644
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

HTML Datei mit 770 tables in Excel verlustfrei imp

HTML Datei mit 770 tables in Excel verlustfrei imp
01.09.2018 09:20:07
Jörn
Hallo zusammen,
bereits vor einigen Tagen hatte ich diese Anfrage in ähnlicher Form gestellt. Ich habe eine sehr große HTML Datei mit Daten nach Excel zu importieren. Diese Datei enthält alphanumerische Artikelnummern, die ich zwingend verlustfrei benötige.
Wenn ich die Datei normal öffne, verliere ich bei Nummern die mit einer NULL beginnen, diese führende Null. Bei Artikelnummern die ein "E" enthalten, werden die Daten wissenschaftlich behandelt und für mich damit unbrauchbar.
Bei meiner ersten Anfrage wurde ich auf Power Query aufmerksam gemacht. Das hat mit kleineren HTML Dateien auch sehr gut funktioniert. Meine große Datei besteht aber aus ca. 770 einzelnen tables. Der Aufbau der Datei ist so gemacht, dass man den Inhalt sauber auf Din A4 ausdrucken kann, auf Weiterverarbeitung der Daten wurde dabei keine Rücksicht genommen.
Wenn ich jetzt in Excel über Daten/neue Abfrage/aus anderen Quellen/aus dem Web auswähle, dann macht diese Funktion bei kleineren Dateien genau das, was ich möchte. Bei meiner großen Datei funktioniert das nicht, es kommt immer zu einer Meldung, dass der Arbeitsspeicher voll ist. Verschiedene Rechner bis 8GB Arbeitsspeicher habe ich ausprobiert.
Wähle ich Daten/externe Daten abrufen/aus dem Web, dann kann ich die Daten zwar in Excel laden, aber selbst wenn ich mein Excel Blatt vorher als Text formatiere, werden die Artikelnummern nach Standard behandelt und somit unbrauchbar für mich.
Gibt es evtl. noch andere Möglichkeiten diese Daten verlustfrei nach Excel zu importieren? Vielen Dank im voraus
Jörn

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: HTML Datei mit 770 tables in Excel verlustfrei imp
01.09.2018 10:36:15
Günther
Moin,
8 GB Ram ist heute ja schon fast Standard ...
Ich würde auf einem Rechner einen reinen TEXT-Drucker einrichten, wo die Daten als File ausgegeben werden, alternativ auch PDF. Dann die ganzen Seiten als Text drucken (oder PDF) und in Excel einlesen. Oder du schnappst dir jemanden, der die Riesen-HTML einfach splittet (ist eine reine Fleiß-Aufgabe mit etwas Hintergrund-Wissen).
… wobei ich mich auch noch frage, warum du in Power Query alle Tabellen auf ein Mal einlesen willst. Mach das doch "portionsweise"; das dauert zwar länger aber sollte den Arbeitsspeicher nicht überreizen.
Gruß
Günther
Anzeige
AW: HTML Datei mit 770 tables in Excel verlustfrei imp
01.09.2018 10:50:42
Jörn
Hallo Günther,
Danke für Deine Antwort. Ich werde es erst mit dem Text Drucker versuchen, wenn das nicht geht, dann portionsweise.
VG
Jörn
AW: HTML Datei mit 770 tables in Excel verlustfrei imp
01.09.2018 11:40:01
Jörn
Hallo Günther,
wenn ich die Datei zunächst mit einem Generic Text only Drucker in eine Datei drucke, dann werden die Daten an sinnlosten Stellen voneinander getrennt, teilweise mitten im Wort.
Portionsweise kann ich die Daten auch nicht einlesen, weil der Verbindungsfehler wegen Arbeitsspeicher voll kommt, bevor ich die einzelnen table auswählen kann. Das wird wohl schwieriger als gedacht ...
Gruß
Jörn
AW: HTML Datei mit 770 tables in Excel verlustfrei imp
01.09.2018 15:10:36
Zwenn
Hallo Jörn,
zwar habe ich nicht viel Zeit, mich um Dein Problem zu kümmern, es klingt für mich aber interessant genug, es trotzdem zu machen. Günther hat Dir ja bereits versucht bei einer Lösung über PowerQuery zu helfen. Da er sich sehr viel mit PowerQuery beschäftigt hat, denke ich, es geht nicht mit diesem Werkzeug, wenn Günther da nicht weiter kommt.
Mein Ansatz Daten von HTML nach Excel zu holen ist regelmäßig über das DOM (Document Object Model). Um mit Deinen Daten etwas dazu auszuprobieren, bräuchte ich allerdings die HTML Datei, um den Aufbau der Tabellen in der Seitenstruktur nachzuvollziehen.
Wie groß ist die Datei denn in MegaByte? Ich kann mir ehrlich gesagt nicht vorstellen, dass 8 GB Speicher für diese Aufgabe ein Nadelöhr darstellen, außer Du hast viele andere Programme neben Excel laufen. Kannst Du einen Auszug mit den ersten paar Tabellen hier hochladen? 10 oder so. Wenn die Tabellen alle gleich aufgebaut sind, würde ich mich mal an einem Ansatz zur Lösung versuchen. Voraussetzung ist, dass Du unter Windows arbeitest, da der Internet Explorer dazu notwendig ist.
HTML Dateien selbst kann man hier zwar nicht hochladen, aber Du kannst die Dateiendung einfach mit .txt erweitern. Dann geht es, solange die Datei max. 300 KB groß ist und der Pfad und Dateiname auf Deinem Rechner keine Leerzeichen enthält. Das ist im Hinweistext auf der File-Upload Seite auch nochmal beschrieben.
Viele Grüße,
Zwenn
Anzeige
AW: HTML Datei mit 770 tables in Excel verlustfrei imp
01.09.2018 16:23:57
Jörn
Hallo Zwenn,
vielen Dank für Dein Angebot. Hier der Link zur Test Datei https://www.herber.de/bbs/user/123684.zip
Gruß
Jörn
AW: so?
01.09.2018 17:04:45
NN
etwas Nacharbeit ist noch nötig:

Const URL As String = "f:\Joern Her Art-Liste.htm"
Sub Joern()
With CreateObject("MSXML2.XMLHTTP")
.Open "Get", URL, False
.Send
c00 = .ResponseText
End With
With CreateObject("htmlfile")
.Body.innerhtml = c00
For Each Tr In .getElementsByTagName("tr")
j = 1
i = i + 1
For Each p In Tr.getElementsByTagName("td")
If p.innertext  "" Then
j = j + 1
If j = 2 Then Cells(i, j).NumberFormat = "@"
Cells(i, j) = Replace(p.innertext, vbLf, vbTab)
End If
Next p
Next Tr
End With
End Sub

Anzeige
AW: so?
01.09.2018 17:11:09
Jörn
Hallo NN,
Danke für Deine Antwort. Das sieht so aus, wie ich mir VBA vorstelle. Allerdings habe ich keine VBA Kenntnisse. Wie bzw. an welcher Stelle müßte ich das Script einbinden?
Danke
Jörn
AW: so?
01.09.2018 17:19:25
Zwenn
Hallo zusammen,
das sieht doch schonmal gut aus. Läuft bei mir mit der hochgeladenen Testdatei einwandfrei durch. Sollte damit also die Datei mit den 770 Tabellen importiert werden können, stellt sich die Frage nach dem Feintuning.
Soll jeweils der Header der Tabellen mit importiert werden? Wird die Total Zeile am Ende benötigt? Sollen alle Daten importiert werden? Dann muss das Format in den Spalten mit echten Zahlen anders umgesetzt werden. Ist dann insgesamt etwas mehr Aufwand in der Programmierung. Aber wenn es sich so importieren lässt, ist das gut machbar.
Viele Grüße,
Zwenn
Anzeige
AW: so?
01.09.2018 17:42:02
Jörn
Ich habe das Script doch alleine zum laufen gekriegt (keine VBA Kenntnisse vorhanden). Das Format der Artikelnummern passt. Bei der ersten Zeile jeder neuen Tabelle kommt es zu einer Dopplung. Die Werte aus Zeile 6 und Zeile 7 werden richtig dargestellt, sind aber schon einmal in Zeile 1 ab Spalte K vorhanden. Dieser Effekt wiederholt sich bei jeder neuen Tabelle.
Die ganzen Header Informationen werden nicht benötigt und müssen eigentlich nicht mit übernommen werden. Die Spaltenköpfe einmal am Anfang wären schön. Spalte A ist leer geblieben?
Auf jeden Fall ist das ganz schön starkes KUNG Fu :-)
Gruß
Jörn
Anzeige
AW: so?
01.09.2018 17:50:32
Zwenn
Gut,
die wichtigste Aussage, die ich aus Deiner Antwort ableite ist, dass Deine 770 Tabellen mit dem Code einwandfrei bearbeitet werden, ohne dass es zu Fehlermeldungen oder Abstürzen kommt. Der Rest ist "nur" das richtige Aufbereiten der Daten.
Ich muss jetzt nochmal weg und schaue ggf. nachher nochmal drauf.
Bis später,
Zwenn
AW: so?
03.09.2018 17:36:14
Zwenn
Hallo Jörn,
nun habe ich zwar die Seitenstruktur studiert und auch einen Algorithmus gefunden, um nur an die benötigten Daten zu kommen, aber mein Makro läuft nicht :-/ Ich habe auch im Moment keinen Schimmer warum. Es kommt nämlich bereits zu einem Fehler, wenn Code Ausgeführt wird, den ich aus einem funktionierenden Makro übernommen habe.
Ich will noch was anderes ausprobieren, wollte hier nur erstmal eine Info dalassen.
Viele Grüße,
Zwenn
Anzeige
AW: so?
03.09.2018 19:27:32
Jörn
Hallo Zwenn,
vielen Dank dafür das Du dran bleibst
Gruß
Jörn
AW: so?
05.09.2018 16:47:29
Zwenn
Hallo Jörn,
sitze grade im Zug von Berlin nach Frankfurt und bin bisher leider nicht dazu gekommen, mir das Makro nochmal vorzunehmen. Wird frühestens zum Wochenende etwas.
Viele Grüße,
Zwenn
AW: so?
05.09.2018 19:58:00
Günther
So, ich noch mal.
Ich habe mir die *.html einmal angesehen und kann wieder bestätigen: HTML ist keine Programmiersprache; der Code ist einfach grausam :-( und daher ist auch kein vernünftiges Arbeiten damit (direkt) möglich. Aber es geht mit Umwegen, gewiss auch mit nur 8 GB Speicher. Bei mir lief es auf dem Reserve-Rechner mit der Hälfte an Speicher (wenn auch krötenlangsam). Hier als Stichwort-Sammlung:
  • die html in Word öffnen

  • alles markieren und Strg-C

  • in Excel als Wert einfügen

  • Markierung belassen und als Tabelle formatieren

  • Daten | Aus Tabelle

  • erste 10 Zeilen löschen

  • Erste Zeile als Überschrift

  • 1. Spalte als Text formatieren

  • Leere Zeilen entfernen

  • 1. Spalte filtern: Beginnt nicht mit Lager; Periode; Autohaus; Nr.

  • Ach ja, natürlich in Power Query :-)
    Gruß
    Günther
    Anzeige
    AW: so?
    05.09.2018 22:05:28
    Jörn
    Hallo Günther,
    Danke für Deine Antwort. Ich habe es eben noch einmal nach Deiner Anleitung versucht, mit einer kleinen Test Datei geht es, mit der eigentlichen Datei geht es nicht, die Date können nicht eingefügt werden. Ist aber nicht schlimm, da das Script von NN funktioniert ja.
    VG
    Jörn
    AW: so?
    06.09.2018 05:52:27
    Hajo_Zi
    Hallo Jörn,
    was ist offen?
    da das Script von NN funktioniert ja.
    

    Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
    AW: so?
    06.09.2018 13:22:03
    Jörn
    
    Bei der ersten Zeile jeder neuen Tabelle kommt es zu einer Dopplung. Die Werte aus Zeile 6 und Zeile 7 werden richtig dargestellt, sind aber schon einmal in Zeile 1 ab Spalte K vorhanden. Dieser Effekt wiederholt sich bei jeder neuen Tabelle.
    
    Zwenn hat seine Hilfe angeboten, ich hoffe auf das kommende WE
    VG
    Jörn
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige