IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

exporter contenu d'un fichier excel vers base mysql ?


Sujet :

Requêtes MySQL

  1. #1
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2002
    Messages
    726
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2002
    Messages : 726
    Points : 352
    Points
    352
    Par défaut exporter contenu d'un fichier excel vers base mysql ?
    j'ai un fichier excell et je veux exporter le contenu vers une base mysql sans refere la saisie
    comment faire ?
    merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Les colonnes d'excel doivent suivre l'ordre et le type de mysql.
    Ensuite exporte ton fichier en fichier texte séparé par des tabulations, et utilise mysqlimport en ligne de commande.

  3. #3
    Membre averti Avatar de Mamilie
    Inscrit en
    Février 2007
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Février 2007
    Messages : 288
    Points : 348
    Points
    348
    Par défaut
    J'ai trouvé ça:
    http://www.kachouri.com/tuto/tuto-23...ers-mysql.html
    Ca a l'air pas mal...
    ...|\ ......._,,,---,,,_
    ../ , `.-'`'..,,,-....;-;;,_
    .| ,4- .) )-,_...;\ ( ..`'-'
    '----'' (_/--' ..`-'\_)

  4. #4
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2002
    Messages
    726
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2002
    Messages : 726
    Points : 352
    Points
    352
    Par défaut re
    merci pour vos réponses,
    au fait, pour plus d'informations
    je peux imposer le format du fichier excel et la structure de la base.
    pour me faciliter la tache d'exportation

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 264
    Points : 141
    Points
    141
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
     
     if (isset($_GET["convert"])) {
       echo ' <table border="0" align="center" width="710" cellspacing="0" cellpadding="0">' . $cr .
             '  <tr>' . $cr .
             '   <td align="center">' . $cr;
       /* Cette fonction retourne la longueur de chaine maximale d'une colonne et
          renvoie aussi "Y" pour signifier qu'il n'y a que des chiffres
          D'après le script (révisé) de Axel de Vignon [www.vidax.net] */
       function FindMaxType($lignes, $col)
       {
         $i = 1;
         $max = 0;
         $num = "Y";
         while(isset($lignes[$i]))
         {
           if(isset($lignes[$i][$col]))
           {
             $lignes[$i][$col] = trim($lignes[$i][$col]);
             $max = ((strlen($lignes[$i][$col])>$max)?strlen($lignes[$i][$col]):$max);
             $num = ((!is_numeric($lignes[$i][$col]))?"N":$num);
           }
           $i++;
         }
         return array($max, $num);
       }
       switch(isset($_POST['action']))
       {
         case "ajouter":
         /* Supprime toute les données */
         mysql_query("DELETE FROM latable);
         /* Variables */
         $lignes = array();
         $erreurs = array();
         $separateur = (empty($_POST['separateur']))?";":$_POST['separateur'];
         $table = ((empty($_POST['table']))?"no_title":$_POST['table']);
         /* upload */
         $fichier = $_FILES['fichier_u']['tmp_name'];
         /* Ouvre le fichier */
         $fichier = file($fichier);
         /* Enleve les caractères spéciaux de fin de ligne */
         $fichier = str_replace(chr(10), "", $fichier);
         $fichier = str_replace(chr(13), "", $fichier);
         /* Place tout dans un tableau */
         foreach($fichier as $ligne)
         {
           $champs = explode($separateur, $ligne);
           array_push($lignes, $champs);
         }
         $j = 2;
         echo '<table cellspacing="0" bgcolor="#4c8fde" cellpadding="3" style="border: 1px solid gray">' . $cr .
              ' <tr>' . $cr .
              '  <td>' . $cr .
              '   <font size="5" color="white">Requête envoyée pour : latable</font>' . $cr .
              '  </td>' . $cr .
              ' </tr>' . $cr .
              ' <tr>' . $cr .
              '  <td><font size="2" color="white">' . $cr;
         /* Génère les enregistrements */
         foreach($lignes as $ligne)
         {
           $i = 0;
           $inc++;
           $requete = "INSERT INTO ". $table ." VALUES ('". $inc ."',";
           while(isset($ligne[$i]))
           {
             $requete .= "'". mysql_escape_string(trim($ligne[$i])) ."'";
             $i++;
             $requete .= ((isset($ligne[$i])) ? "," : ")");
           }
           $j++;
           mysql_query($requete) or die("<font color=\"black\">Une erreur est survenue lors de la tentative de conversion des données.<br />Plusieurs exceptions peuvent déclencher ce type d'erreur :<br><li>Le fichier ne porte pas le bon format <i>(.csv)</i><li>Le fichier est peut-être endommagé<li>Le fichier ne correspond pas à la table : <b>latable</b></font>");
           echo $requete ."<br />";
         }
         echo '  </font></td>' . $cr .
              ' </tr>' . $cr .
       '</table>' . $cr;

  6. #6
    Membre habitué Avatar de giltonic
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    109
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 109
    Points : 137
    Points
    137
    Par défaut
    Citation Envoyé par ouldfella
    j'ai un fichier excell et je veux exporter le contenu vers une base mysql sans refere la saisie
    comment faire ?
    merci
    Il y a egalement le LOAD DATA
    http://dev.mysql.com/doc/refman/5.0/fr/load-data.html

    Mais avant je te conseil d'exporter ton Excel fichier excel en CSV. Pour d'ouvrir ce CSV, avec un vrai éditeur de texte (Genre : Bloc Note/Ultraedit) pour voir tes enregistrements
    Apres tu pourras lancer les imports et visualiser les eventuels problèmes plus facilement
    Musique : Oasis | Photos : Panoramio

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PowerShell] Importer des fichiers excel vers Base de données
    Par grinta05 dans le forum Scripts/Batch
    Réponses: 0
    Dernier message: 10/02/2015, 11h33
  2. Réponses: 0
    Dernier message: 30/12/2013, 10h32
  3. Réponses: 4
    Dernier message: 23/08/2013, 18h01
  4. copier le contenu d'un fichier EXCEL vers un autre
    Par john_wili dans le forum Documents
    Réponses: 1
    Dernier message: 26/01/2009, 11h35
  5. importation de fichier excel vers base de donnee oracle
    Par opensource dans le forum Outils
    Réponses: 1
    Dernier message: 27/12/2007, 18h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo