Εισαγωγή δεδομένων από xls σε mysql

Συζητήσεις για την βάση δεδομένων MySQL και το phpMyAdmin

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Άβαταρ μέλους
selemeles
Δημοσιεύσεις: 464
Εγγραφή: 23 Νοέμ 2006 12:42
Τοποθεσία: Άνω Λιόσια
Επικοινωνία:

Εισαγωγή δεδομένων από xls σε mysql

Δημοσίευση από selemeles » 25 Ιουν 2014 20:33

Για άλλη μια φορά κόλησα και θέλω την βοήθειά σας...

Έχω έναν πίνακα id;name;email και θέλω να βάλω τα δεδομένα από ένα xls στον πίνακα. είτε php είτε από το phpmyadmin.

Σας είναι γνώριμο ή όχι?
Το δοκίμασα να το κάνω csv αλλά δε κατάφερα να τα βάλω και παλι χτυπάει error...

Κάποια ιδέα?

Ευχαριστώ
:: Blue Webeyes :: www.bwe.gr
-----------------------------------------------------
έπιπλα κουζίνας

alou
Script Master
Δημοσιεύσεις: 1374
Εγγραφή: 24 Αύγ 2007 19:52
Επικοινωνία:

Εισαγωγή δεδομένων από xls σε mysql

Δημοσίευση από alou » 25 Ιουν 2014 21:49

csv θα το κάνεις αλλά καλύτερα από open office και να ελέγξεις τον τρόπο που θα φτιαχτεί το csv, την κωδικοποίηση, τα διαχωριστικά, τα κενά κελιά...
Για αρχή, φρόντισε στο περιεχόμενο του xls -> csv να μην υπάρχουν , για να μη χτυπήσει ή αν πρέπει να υπάρχουν, χρησιμοποίησε άλλο χαρακτήρα σαν seperator (κάτι που δεν υπάρχει στο περιεχόμενο).

Η εναλλακτικές για php με κάποι xls parser θα σου φάει πολύ περισσότερο χρόνο και αν είναι κάτι που θα κάνεις μια φορά μόνο δεν αξίζει να μπλέξεις.

Άβαταρ μέλους
selemeles
Δημοσιεύσεις: 464
Εγγραφή: 23 Νοέμ 2006 12:42
Τοποθεσία: Άνω Λιόσια
Επικοινωνία:

Εισαγωγή δεδομένων από xls σε mysql

Δημοσίευση από selemeles » 25 Ιουν 2014 22:54

Η αλήθεια είναι ότι δε θα γίνει μόνο μια φορά...
Επίσης προσπάθησα να το κάνω έτσι, αλλά χτύπησε στο phpmyadmin
"Μη έγκυρο πλήθος στηλών στο εισαχθέν CSV στη γραμμή 1."
:: Blue Webeyes :: www.bwe.gr
-----------------------------------------------------
έπιπλα κουζίνας

alou
Script Master
Δημοσιεύσεις: 1374
Εγγραφή: 24 Αύγ 2007 19:52
Επικοινωνία:

Εισαγωγή δεδομένων από xls σε mysql

Δημοσίευση από alou » 25 Ιουν 2014 23:05

Είναι ίδιες οι στήλες με αυτές του πίνακα;
Αν έχεις κενά κελιά, βάλε κάτι που θα το σβήσεις μετά ή δε σε πειράζει να υπάρχει, πχ. NULL, ώστε να μην υπάρχει κανένα κενό κελί

Άβαταρ μέλους
selemeles
Δημοσιεύσεις: 464
Εγγραφή: 23 Νοέμ 2006 12:42
Τοποθεσία: Άνω Λιόσια
Επικοινωνία:

Εισαγωγή δεδομένων από xls σε mysql

Δημοσίευση από selemeles » 25 Ιουν 2014 23:18

Για να είμαι πιο ακριβής, γιατί μπορεί να λέω κάτι λάθος επισυνππτω τον πίνακα.

Στο αρχείο csv έχει τα στοιχεία
"ααα";"Dhmitris";11;"ανω λιοσια";"αχ";20
Συνημμένα
table mysql.jpg
:: Blue Webeyes :: www.bwe.gr
-----------------------------------------------------
έπιπλα κουζίνας

alou
Script Master
Δημοσιεύσεις: 1374
Εγγραφή: 24 Αύγ 2007 19:52
Επικοινωνία:

Εισαγωγή δεδομένων από xls σε mysql

Δημοσίευση από alou » 25 Ιουν 2014 23:54

Ο πίνακάς σου έχει (τουλάχιστον) 7 στήλες, αν πας να βάλεις αυτά που λες, λογικό είναι να βγάζει σφάλμα γιατί είναι 6. Δοκίμασε:

"";"ααα";"Dhmitris";11;"ανω λιοσια";"αχ";20

που ουσιαστικά λες ότι έχεις κενό το πρώτο
και στην εισαγωγή στο php my admin, επιβεβαίωσε ότι έχεις το ; σαν column seperator

Άβαταρ μέλους
selemeles
Δημοσιεύσεις: 464
Εγγραφή: 23 Νοέμ 2006 12:42
Τοποθεσία: Άνω Λιόσια
Επικοινωνία:

Εισαγωγή δεδομένων από xls σε mysql

Δημοσίευση από selemeles » 26 Ιουν 2014 00:25

Σωστός... Ευχαριστώ
Δούλεψε έτσι :)

Πάμε στο επόμενο στάδιο. Μπορούμε απευθείας από το xls να τα πάρουμε ή θα πρέπει χειροκίνητα να το κανουμε csv?
:: Blue Webeyes :: www.bwe.gr
-----------------------------------------------------
έπιπλα κουζίνας

alou
Script Master
Δημοσιεύσεις: 1374
Εγγραφή: 24 Αύγ 2007 19:52
Επικοινωνία:

Εισαγωγή δεδομένων από xls σε mysql

Δημοσίευση από alou » 26 Ιουν 2014 12:31

Θα πρέπει να το κάνεις csv. Για να μην έχεις προβλήματα, προσπάθησε στο περιεχόμενο του CSV να μην έχεις , και " που είναι χαρακτήρες που διαχωρίζουν στήλες / γραμμές ή αν πρέπει να υπάρχουν, να τα κάνεις escape (βάζοντας μπροστα τον χαρακτήρα \, δηλαδή το " γίνεται \" )

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Εισαγωγή δεδομένων από xls σε mysql

Δημοσίευση από dva_dev » 26 Ιουν 2014 20:39

Με μια αναζήτηση στο google είδα ότι υπάρχει κόσμος που έχει ασχοληθεί με το συγκεκριμένο θέμα και έχουν φτιαχτεί βιβλιοθήκες που διαβάζουν xls αρχεία.
Οπότε θα πρότεινα να τους ρίξεις μια ματιά και να γράψεις λίγο κώδικα που να κάνει insert στη mysql κατευθείαν από το xls, γιατί το επόμενο βήμα θα είναι να περνάνε στα data του xls από validation πριν γίνει το insert, μετά να μπορεί κάποιος χρήστης (οποιοσδήποτε) να κάνει upload ένα xls αρχείο και αυτό να εισάγεται στη βάση και πάει λέγοντας.
Αλλά αυτά θέλουν κώδικα και καλό θα ήταν αν μπορείς να προετοιμάσεις το έδαφος από τώρα που είσαι σε αρχικό στάδιο ακόμα.
Βέβαια εσύ αποφασίζεις...

Απάντηση

Επιστροφή στο “MySQL”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης