[résolu] Export Excel -> MySql
9 messages
• Page 1 sur 1
Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics
-

blman - WRInaute accro

- Messages: 3073
- Inscription: 5 Sep 2003
[résolu] Export Excel -> MySql
Salut les WRistes,
Je vous soumet un petit problème qui commence à m'énerver depuis ce matin. Voila, j'ai réalisé un extranet qui doit se charger de faire des stats sur des demandes de documentations passer sur 3 sites différents. Tout allait bien jusque ici puisque je récupérais automatiquement les données des 3 sites en XML pour les importer dans la base de données de l'extranet.
Et voila qu'on me demande d'importer toutes les demandes passées par couponning, téléphone et fax depuis 2002. J'ai donc tout récupérer sous Excel (plus de 25000 enregistrements en tout).
Je souhaite donc récupérer les données Excel pour les importer dans ma base de données :
1- J'ai pensé à enregistrer mon fichier en CSV pour analyser chaque ligne, faire un explode() sur les caractères de séparation et le tour était jouer : NON, ya plein de retour de ligne dans les formats des adresses donc pas trop envisageable à moins que je retouche tout le fichier à la main (faut pas rêver)
2- J'ai pensé à enregistrer mon fichier en XML : vu ce que ça donne, j'imagine même pas comment je vais pouvoir faire une moulinette pour l'intégrer dans ma base de données (trop naze l'export en XML d'Excel)
Connaissez-vous une autre méthode qui pourrait marcher ?
Savez-vous comment je pourrais enlever ces put**** de retour de ligne dans le fichier Excel ?
Une des pistes serait d'enregistrer mon fichier en SYLK, est-ce que quelqu'un a une adresse d'un script PHP qui pourrait lire du SYLK (je sais exporter une base vers SYLK mais pas l'inverse, snifff) ?
Je vous soumet un petit problème qui commence à m'énerver depuis ce matin. Voila, j'ai réalisé un extranet qui doit se charger de faire des stats sur des demandes de documentations passer sur 3 sites différents. Tout allait bien jusque ici puisque je récupérais automatiquement les données des 3 sites en XML pour les importer dans la base de données de l'extranet.
Et voila qu'on me demande d'importer toutes les demandes passées par couponning, téléphone et fax depuis 2002. J'ai donc tout récupérer sous Excel (plus de 25000 enregistrements en tout).
Je souhaite donc récupérer les données Excel pour les importer dans ma base de données :
1- J'ai pensé à enregistrer mon fichier en CSV pour analyser chaque ligne, faire un explode() sur les caractères de séparation et le tour était jouer : NON, ya plein de retour de ligne dans les formats des adresses donc pas trop envisageable à moins que je retouche tout le fichier à la main (faut pas rêver)
2- J'ai pensé à enregistrer mon fichier en XML : vu ce que ça donne, j'imagine même pas comment je vais pouvoir faire une moulinette pour l'intégrer dans ma base de données (trop naze l'export en XML d'Excel)
Connaissez-vous une autre méthode qui pourrait marcher ?
Savez-vous comment je pourrais enlever ces put**** de retour de ligne dans le fichier Excel ?
Une des pistes serait d'enregistrer mon fichier en SYLK, est-ce que quelqu'un a une adresse d'un script PHP qui pourrait lire du SYLK (je sais exporter une base vers SYLK mais pas l'inverse, snifff) ?
Dernière édition par blman le Mer Mai 04, 2005 15:54, édité 1 fois.
- lesbonsplansdesophie
- WRInaute impliqué

- Messages: 523
- Inscription: 1 Mar 2004
c'est quoi le format de ton fichier excel ?
si tu as un truc du style:
A1 B1 C1
nom prenom tel
dans excel, a la fin de toute les colonnes (ici en D1), tu fais
= A1 & ";" & B1 & ";" & C1 & "\n"
Cela aura pour effet de concatener tes colonnes avec un point virgule entre chaque, et un caractere d'echappement "\n" a la fin.
Tu recopies la formule sur toutes les lignes.
Ensuite tu copies la colonne obtenue dans une nouvelles feuille (fais copier / Edition > Collage Special... > Valeurs)
Enfin tu fais enregistrer sous > fichier texte tu dis oui a chaque message d'avertissement et normalement tu auras un fichier importable directement dans phpmyadmin (selectionne ta table puis 'inserer un fichier texte dans la table')
J'espere que ca marchera ?
si tu as un truc du style:
A1 B1 C1
nom prenom tel
dans excel, a la fin de toute les colonnes (ici en D1), tu fais
= A1 & ";" & B1 & ";" & C1 & "\n"
Cela aura pour effet de concatener tes colonnes avec un point virgule entre chaque, et un caractere d'echappement "\n" a la fin.
Tu recopies la formule sur toutes les lignes.
Ensuite tu copies la colonne obtenue dans une nouvelles feuille (fais copier / Edition > Collage Special... > Valeurs)
Enfin tu fais enregistrer sous > fichier texte tu dis oui a chaque message d'avertissement et normalement tu auras un fichier importable directement dans phpmyadmin (selectionne ta table puis 'inserer un fichier texte dans la table')
J'espere que ca marchera ?
-

Gaëtan R. - WRInaute occasionnel

- Messages: 311
- Inscription: 26 Avr 2004
Essaie de voir du côté des macros excel pour ton problème de retour ligne. Ce site : http://www.excelabo.net/xl/caracteres.php 
-

blman - WRInaute accro

- Messages: 3073
- Inscription: 5 Sep 2003
Sophie, ta solution revient en fait à enregistrer sous un fichier CSV avec des séparateurs ;
Le problème, c'est que j'ai des retours de lignes à l'intérieur même des colonnes. J'ai tout essayer pour les virer mais je n'y arrive pas.
Voila un exemple d'une ligne qui me fait chi** en CSV :
92;VRAI;03/06/2002;VRAI;VRAI;BON****;patri**;;"le Glaizil bat a2
39,rue *******";05000;Gap;France;049253*****;;*****@wanadoo.fr;Employé de commerce;35 - 44 ans;;non;- - -;;Amis;;Français;Internet;- - -;;FAUX;;;
Vous voyez, sur l'adresse, il y a un retour de ligne qui s'est insérer puisqu'à l'époque, le champ était un textarea. Aujourd'hui, j'ai mis 2 champs adresses de type text pour éviter ce phénomène (en plus je génère des étiquettes pour l'envoie des documentations, donc le textarea n'est plus du tout valable car souvent le texte débordais de l'étiquette : il a donc fallu que je limite la taille de chaque champs).
Le problème, c'est que j'ai des retours de lignes à l'intérieur même des colonnes. J'ai tout essayer pour les virer mais je n'y arrive pas.
Voila un exemple d'une ligne qui me fait chi** en CSV :
92;VRAI;03/06/2002;VRAI;VRAI;BON****;patri**;;"le Glaizil bat a2
39,rue *******";05000;Gap;France;049253*****;;*****@wanadoo.fr;Employé de commerce;35 - 44 ans;;non;- - -;;Amis;;Français;Internet;- - -;;FAUX;;;
Vous voyez, sur l'adresse, il y a un retour de ligne qui s'est insérer puisqu'à l'époque, le champ était un textarea. Aujourd'hui, j'ai mis 2 champs adresses de type text pour éviter ce phénomène (en plus je génère des étiquettes pour l'envoie des documentations, donc le textarea n'est plus du tout valable car souvent le texte débordais de l'étiquette : il a donc fallu que je limite la taille de chaque champs).
-

aladdin - WRInaute passionné

- Messages: 1457
- Inscription: 29 Avr 2005
une petit recherche sur google :
http://www.iamnota.com/content/view/14/29/
c'est un convertisseur xls2xml ....
j'ai pas eu le courrage de le tester
tien moi au courant si ça marche
http://www.iamnota.com/content/view/14/29/
c'est un convertisseur xls2xml ....
j'ai pas eu le courrage de le tester
tien moi au courant si ça marche
- shrom
- WRInaute impliqué

- Messages: 865
- Inscription: 5 Juil 2004
MySQL est capable d'importer un fichier MySQL tout seul comme un grand
En oubliantpas lors de l'export CVS d'ajouter des doubles quotes autour des champs texte
- Code: Tout sélectionner
LOAD DATA LOCAL INFILE '/importfile.csv'
INTO TABLE test_table
FIELDS TERMINATED BY ';'
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
(field1, filed2, field3);
En oubliantpas lors de l'export CVS d'ajouter des doubles quotes autour des champs texte
-

blman - WRInaute accro

- Messages: 3073
- Inscription: 5 Sep 2003
Shroom, J'ai pas trouvé comment faire pour rajouter des " pour encadrer mes valeurs lors de l'export en CSV.
Par contre, le lien fourni par Gaëtan R m'a permis de trouver une solution pour virer les retours de ligne. Pour ceux que ça interresse, la voici :
- je sélectionne toutes mes cellules où il y a des retours de ligne
- je vais dans édition / rechercher / remplacer
- pour rechercher, j'inscris 0010 (ou 0013) en tenant la touche ALT enfoncée
- je remplace par " - " ou un autre caractère, peu importe
- je clique sur "Remplacer" et là , c'est un gros YES de soulagement car je n'est plus un seul retour de ligne. VICTORY !!!
Merci encore à tous de vous être donné la peine de m'aider. C'est à charge de revanche comme d'habitude...
Par contre, le lien fourni par Gaëtan R m'a permis de trouver une solution pour virer les retours de ligne. Pour ceux que ça interresse, la voici :
- je sélectionne toutes mes cellules où il y a des retours de ligne
- je vais dans édition / rechercher / remplacer
- pour rechercher, j'inscris 0010 (ou 0013) en tenant la touche ALT enfoncée
- je remplace par " - " ou un autre caractère, peu importe
- je clique sur "Remplacer" et là , c'est un gros YES de soulagement car je n'est plus un seul retour de ligne. VICTORY !!!
Merci encore à tous de vous être donné la peine de m'aider. C'est à charge de revanche comme d'habitude...
9 messages
• Page 1 sur 1
Formation recommandée sur ce thème :
Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par les experts Google Analytics de Ranking Metrics.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Export données Google analytics sous Excel
- [résolu] Enregistrer un fichier Excel 2007 en Excel 2002
- Export données TABLE SQL vers FICHIER EXCEL
- export mysql et accents !!!???!!!
- MySQL -> fichier Excel
- Convertir une base Excel en MySQL
- remplir une table MySQL depuis un fichier Excel
- convertir un fichier excel vers base de donnée mysql
- Cherche un outil d'import de fichiers HTML vers MySQL/EXCEL
- Lier facilement un fichier local type Excel et une base mysql
- Google Presently : le concurrent de Powerpoint - 12-02-2007
- Gestion des langues et des sessions en PHP / MySQL - 02-05-2004
- Le point sur Google en Janvier 2007 - 15-01-2007
- Passage à l'heure d'été/hiver sur un forum phpBB - 31-10-2010
- Les albums web Picasa passent à 1 Go de stockage - 08-03-2007
- Importer tout son blog dans Google Base - 21-11-2005
- Googlebot, le robot d'indexation de Google - 21-02-2003
- Script de mise en cache des pages (PHP MySQL) - 09-08-2010
Consultez la description détaillée des produits ou services de Google suivants : Google Présentations
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités
