[PHP] Excel Liste in MYSQL importieren?

Flap

Mitglied
HI,

ich habe eine Excel Tabelle oder ehr Liste (Normale Kundliste , wie man es aus Excel kennt, Name, Straße, .....) mit 600 Einträgen und die muss ich nun in MYSQL importieren, wie schaff ich dies am besten? Einzel per Hand ist dies ein zu großer Zeitaufwand. Gibts da irgendwie ein Script? oder Parser ...?

Hatte mir schon überlegt , jede Spalte einzeln zu markieren und dann in ein Textfeld einzufügen und dann per php in die db eintragen....

Sieht dann so aus....

Heinrich von Richter
Pert von Döhlen
usw.....

Aber wie splitte ich nun das mit php das $name[1] = Heinrich von Richter, $name[1] = Peter von Döhlen, usw ist ...? Somit ich das über eine schlafe einfügen kann, aber dazu brauch ich noch die gesamte daten anzahl ... :-(

Ich hoffe ihr versteht mein Problem--

Vielen Dnak im Vorraus....

mfg
 
Du kanst die exel datei als csv datei exportieren.Also Datei mit Trennzeichen. Anhang des trennzeichen kanst du dann die Einzelene Spalten und datensätze auslesen und in die Db eintragen.

Ich hab mal vor einigerzeit ein script geschrieben das aus einer Db eine csv Datei für exel erstellt im grunde müßtes du das nur umdrehen.
Hier der code
PHP:
function del_enter($str) { 
    $str = trim($str);
    $str = nl2br($str);
    return str_replace("\r\n", "", $str); 
}   
function export(){
$db = new db($fehler); 
$Sql_export="SELECT Artikelnr,Preis,Minmenge,Kname,Beschreibung,Detail,Klein FROM produkt,prod_kat,kategorie,prod_bild,bilder WHERE Prod_id=prod_kat.F_Prodid AND Prod_id=prod_bild.F_Prodid AND F_Katid=Kat_id AND F_Bildid=Bild_id"; 
$db->query($Sql_export);
$q=$db->next_record();
$r="Artikelnr;Preis;Minmenge;Kategorie;Beschreibung;Detail;Bilder;\r\n";
if ($q) 
{ 
if ($f = fopen ("..\Liste.csv", 'w')) 
{ 
while ($a < $db->num_rows) 
{ $a++ ;
	//echo"<b>Row</b>";var_dump($a); 
	
for ($i=0; $i<($db->num_fields); $i++) { 
	
//var_dump($db->num_fields);
//var_dump($db->r($i));
//echo"<b>Record</b>";var_dump($db->record);
$r.=del_enter($db->r($i)).";";
}//die('abort'.$r);
$db->next_record(); // Nächster Datensatz
//var_dump($r);
fputs ($f, $r."\r\n");
$Export.=$r;
unset($r);$r="";
} 
fclose ($f); 
return $Export; // Ausgabe für Header
} else 
echo "Datei konnte nicht geöffnet werden"; 
} else 
echo "MySQL-Fehler: ".mysql_error(); 
}

Mfg Splasch
 
Zuletzt bearbeitet:
Hi ,

danke für die schnelle Antwort....
Hmm hab das neue Exel und da weiß ich nicht wie ich es in "CSV" exportieren kann

Möchte das nun für spalte und spalte einfügen aber irgendwie klappt das noch nicht ...

PHP:
function del_enter($str) { 
    $str = trim($str);
    $str = nl2br($str);
    return str_replace("\r\n", "", $str); 
}    

for ($i=0;$i<=20;$i++)
{
$r=del_enter($text[$i])."\r\n"; 

echo "$i - $r <br>";
}


Ergebniss:

0 - H
1 - e
2 - i
3 - n
4 - r
5 - i
6 - c
7 - h
8 -
9 - v
10 - o
11 - n
12 -
13 - M
14 - u
15 - e
16 - l
17 - l
18 - e
19 - r

Und so sollte es aussehen:
1- Heinrich von Mueller
2- Lutz Meyer
3......

thx
 
Ich weiß zwar nicht welche exel version du hast aber in der 2002 version war das noch immer unter dem Menü punkt Speichern unter. Dann kommt ein popup fenster wo man unten dann den Dateitype auswählen kann.

Mit einer normalen xls datei wirste keine chance haben das in die Db zu bekommen.

Mfg Splasch
 
Zurück