Importer xls vers mysql
Classé dans : Astuces
J’ai eu besoin d’importer un fichier XLS dans une base de donnée MYSQL, ça s’avère relativement simple je vous donne la marche à suivre.
1. Tout d’abord, il faut convertir votre fichier XSL au format CSV.
Pour cela j’utilise open office (gratuit et l’équivalent d’excel).
Fichier > Enregistrer sous. Sélectionnez fichier csv
2. Ensuite allez dans phpmyadmin puis créez votre table.
Attention: le nombre de champ de votre table doit correspondre au nombre de colonne de votre fichier xls.
3. Cliquez sur Importer puis sélectionnez votre fichier CSV sur votre disque dur. Vérifiez que les séparateur de champs et de texte correspondent bien à ceux de votre fichier CSV.
4. prendre un café et voila
.
Attention: à l’encodage de votre fichier. J’ai été dans l’obligation d’ouvrir mon fichier CSV avec notepad++ pour le convertir en UTF8 afin que les accents soient bien conservés une fois dans ma table.
Voila c’est très simple il suffit de connaître la marche à suivre
.
- Permalien
- maniT4c
- 7 mai 2009 12:37
- Commentaires (14)
le 8 mai 2009 à 16:19
Excellent Post. Merci
le 19 mai 2009 à 14:47
Petit complément pour élargir le sujet : le site spectralcore.com commercialise un soft qui permet de convertir un grand nombre de bases de données dans différents formats, ce qui implique l’upload complet. A titre perso, je l’utilise pour convertir du Microsoft SQL serveur vers du access (pour bidouiller ne masse) et dans l’autre sens. Le soft est vendu 250 €, mais il les vaut (je l’utilise depuis 2 ans). Il gère entre autre excel, access, mysql, postgresql, sql serveur…
le 21 juin 2009 à 17:57
Cela fait gagner un temps plusqu’appréciable, puisque cela évite de saisir les données les unes après les autres. Merci
le 7 août 2009 à 17:32
je suis d’accord ça permet de gagner un temps précieux et ça évite d’avoir à retaper les données.
le 2 septembre 2009 à 18:20
Merci pour ce tuto, cela va mettre utile.
le 3 septembre 2009 à 11:10
Attention, pour les grosses insertions de données, il me semble que phpmyAdmin plante au bout d’un moment.
Dans ce cas il suffit de diviser en deux le fichier csv (en gardant les entêtes dans chacun des fichiers
)
le 4 février 2010 à 2:52
je revien tard sur ce sujet
je veux excuter la memes procedure mais je veux pas le faire dans php my admin ,mais avec un script php ou une class
ql un aura une idée ?
le 4 février 2010 à 9:05
@Vran il faudrait savoir ce que tu souhaite obtenir au final.
Tu peux créer une boucle qui va rechercher le séparateur et extraire ce qu’il y a avant, pour l’enregistrer dans un tableau par exemple.
Les fonction substr et strpos devrais te permettre de le faire.
Sinon j’ai trouvé cette classe mais je ne l’ai jamais testé.
http://paggard.com/projects/xls.reader/xls_reader_help.html
le 23 juin 2010 à 11:06
et on fait comment si le fichier excel contient plusieurs feuilles ?
le 23 juin 2010 à 11:34
@saad0n c’est au niveau de ton tableau (logiciel) qu’il faut voir. Il doit être possible d’exporter la totalité de tes feuilles en un seul fichier XLS. Malheureusement je ne suis pas spécialiste des tableurs
.
le 11 juin 2011 à 3:46
bonjour,
vue les dates des com je pense pas avoir de réponse mais je tente ,tu dit transformer le csv en utf8 via notepad++ mais quel format de sorti tu prend?
merci a++
le 14 juin 2011 à 8:46
@Clout que veux tu dire par format ce sorti ? Si tu parle de l’extension c’est du CSV que tu dois obtenir.
le 7 décembre 2011 à 4:06
merci pour votre post
SVP comment savoir lesséparateur de champs et de texte de mon fichier CSV(excel2007)
le 7 décembre 2011 à 8:44
@Anassbouja il faut ouvrir le fichier CSV avec un éditeur de texte comme notepad. Le texte sera affiché en brut et il sera simple de voir quel est le séparateur utilisé.