Excel Tabelle in MySQL importieren

emmy

Aktives Mitglied
Thread Starter
Dabei seit
08.12.2007
Beiträge
298
Reaktionspunkte
5
Guten Abend allerseits,

ich muss für einen Kunden eine Tabelle in eine MySQL Datenbank importieren. Leider ist sie zu groß um sie per Hand zu übertragen.
Also habe ich zuerst versucht, die Datei per PHPMyAdmin (3.1.1.0) zu importieren. Leider wurde aber das Format nicht unterstützt.
Also habe ich die Tabelle kurzerhand in das *.CSV Format umgewandelt. Wenn ich nun aber versuche die Datei hochzuladen, bekomme ich die Fehlermeldung, dass keine Datei ausgewählt wurde.
Also habe ich es mit "Sequel Pro" probiert (0.9.4). Nachdem ich Sequel erklärt hatte, wie die einzelnern Felder in der CSV von einander getrennt sind etc. schien auch alles gut zu gehen. Ein Fortschrittsbalken wurde angezeigt und eine Meldung erschein, wonach Datensätze importiert worden wären.
Als ich aber in der Tabelle nachschauen wollte, waren dort keine neuen Datensätze angekommen.

Kann mir von euch jemand helfen ? Geht der ganze Spaß vielleicht sogar ohne CSV ? Wie macht ihr das denn ?
 
Wie gross ist denn die Datei? Wenn sie zu gross ist, wird ein Timeout gemacht und alles verworfen. Ggf. in mehrere kleine Häppchen aufteilen.
 
Wenn Du einen Netzwerk- oder Shellzugang zum MySQL Server hast, könntest Du ein kleines Skript schreiben, dass die CSV Datei zeilenweise abarbeitet und die Datensätze mit der normalen mysql Syntax anlegt.
 
Zuletzt bearbeitet:
Wie gross ist denn die Datei? Wenn sie zu gross ist, wird ein Timeout gemacht und alles verworfen. Ggf. in mehrere kleine Häppchen aufteilen.

Die CSV Datei ist nur 2,4 KB groß, an einem Timeout wird es wohl nicht liegen.

Wenn Du einen Netzwerk- oder Shellzugang zum MySQL Server hast, könntest Du ein kleines Skript schreiben, dass die CSV Datei zeilenweise abarbeitet und die Datensätze mit der normalen mysql Syntax anlegt.

Habe ich nur hier in der lokalen Entwicklung, nicht auf dem Webserver des Kunden.
Aber wäre so etwas nicht auch in PHP mit einem Eingabefeld für die CSV realisierbar ?
 
Aber ja, Uplaod, auslesen, in Datenbank schreiben.
Bei 2.4 KB muss das aber mit Excel ratz-fatz gehen..
 
Upload ? Ich mach das lokal hier in einer XAMPP Umgebung und nichtmal da will das funktionieren. PHPmyAdmin siehe oben...
 
Also ich würd einfach es als CSV und mit einem mini script einfach die sql's zusammenbasteln. Sollte 15 - 30min dauern das script zu schreiben. Dann einfach die sql's nehmen und in einer GUI deiner wahl dann abfeuern.

Ganz mutige machen das mit einer "excel-odbc" schnittstelle, da musste dann aber auch ein kleines script schreiben, kannst aber dann direkt mit script auf die db schreiben.

Es gibt auch ein 3th part hersteller tool, was ua per odbc auf die db zugreifen kann, nur finde ich unter google nicht, komisch

DB Quick Edit

Maybe hast du mehr glück, kannst dir ne freie trial version runterladen und müsste mit excel bzw CVS gut zurechtkommen. Habe ich mal im Geschäft gebraucht.
 

Leider unter Google so nicht gefunden...

Aber nur mal so als Frage nebenbei:
Kann es daran liegen, dass Excel den Zelleninhalt nicht mit " beginnt und abschließt ? ist mir gerade aufgefallen, als ich mir die CSV angeschaut habe.
Es werden nur Zellen mit ; getrennt und Zeilen durch Zeilenumbrüche markiert (also gar kein Zeichen außer vielleicht ?? /n ??).
Habe aber auch keine möglichkeit beim exportieren hierfür irgendwelche Optionen zu ändern :(
 
CSV ist nicht standardisiert.
Da kann es jede Menge unterschiedlicher Formate geben.
Üblicherweise sind Datensätze durch Zeilenumbruch, Datenfelder durch Komata getrennt. Das ist aber nicht verbindlich.
 
Deswegen kann man ja bei phpmyadmin die lesart eingeben, also was wodruch getrennt ist.
Aber wie gesagt, phpmyadmin will ja nicht... bzw erkennt die angebebene Datei nicht.
 
Das wusste ich nicht.
Ich arbeite nur selten mit phpMyAdmin.
 
Hast du den Tipp von oneOeight ausprobiert?

Wegen CSV, du kannst es mal mit OpenOffice exportieren, da kannste dann genau angeben was feldtrenner und inhaltstrenner ist. vielleicht klappts dann eher mit dem importieren. ist mir grad eingefallen, als ich mich gewundert habe warum bei MSOffice2003? sowas nicht möglich war. Da waren die Spaltentrenner glaub fix einfach ein "," dabei wollte ich ein ";" haben.
 
Gelöst

Also ich habe nun folgendes getan:
  1. OpenOffice benutzt, um die richtigen Einstellungen für den CSV-Export hinzubekommen.
  2. Sequel Pro für den Import in die Datenbank benutzt (PHPmyAdmin reagierte einfach nicht mehr).

Ergebnis:
Funktioniert einwandfrei.

Danke nochmals, an alle, die geholfen haben.

Liebe Grüße
 
Also ich habe nun folgendes getan:
  1. OpenOffice benutzt, um die richtigen Einstellungen für den CSV-Export hinzubekommen.

Ergebnis:
Funktioniert einwandfrei.

yeah, wusste ich es doch, das OO sich lohnt :)

bitte
 
Zurück
Oben Unten