web-dev-qa-db-fra.com

Importer une feuille Excel dans phpMyAdmin

Je joue actuellement avec phpMyAdmin et j'ai rencontré un problème. Lors de l'importation de mon CSV dans phpMyAdmin, il faut arrondir les chiffres. J'ai défini la colonne sur float et la colonne dans Excel sur un nombre (également essayé text/General) sans succès. Quelqu'un d'autre a-t-il rencontré ce problème et trouvé une solution de contournement viable?

Une deuxième question: est-il possible pour moi de télécharger le fichier CSV de sorte qu'il corresponde aux noms de colonnes phpMyAdmin aux noms de colonnes Excel et entre les données dans la colonne correcte?

3
Dannys
  1. Votre fichier devrait ressembler à ceci (les champs décimaux sont de type général):

xlssheet

  1. Enregistrer au format CSV. Le fichier sera probablement enregistré avec; séparé

Ceci est pour la nouvelle table:

  1. Ouvrez phpMyAdmin, choisissez votre base de données, cliquez pour importer et sélectionnez le fichier à télécharger
  2. Changer le format en CSV s'il n'y en a pas
  3. Modification des options spécifiques au format - colonnes séparées par:;
  4. Assurez-vous que la case à cocher (la première ligne du fichier contient les noms des colonnes de la table (si cette case est décochée, la première ligne fera partie des données)) est SÉLECTIONNÉ
  5. Cliquez sur Go
  6. Une nouvelle table sera créée avec la structure en fonction de la première ligne dans CSV.

Ceci est pour la table existante:

  1. Ouvrez phpMyAdmin, choisissez votre base de données, CHOISISSEZ VOTRE TABLE qui correspond à la structure du fichier importé, cliquez pour importer et sélectionner le fichier à télécharger
  2. Changer le format en CSV s'il n'y en a pas
  3. Modification des options spécifiques au format - colonnes séparées par:;
  4. Modifiez le nombre de requêtes ignorées en 1 (la première ligne avec les noms de colonnes sera ignorée)
  5. Cliquez sur Go
  6. Le tableau sélectionné qui a la même structure que le fichier CSV sera mis à jour et les lignes du fichier CSV insérées.
7
Sauron
// connecting dB
$mysqli = new mysqli('localhost','root','','testdB');

// opening csv
$fp = fopen('data.csv','r');

// creating a blank string to store values of fields of first row, to be used in query
$col_ins = '';

// creating a blank string to store values of fields after first row, to be used in query
$data_ins = '';

// read first line and get the name of fields
$data = fgetcsv($fp);
for($field=0;$field< count($data);$field++){
    $col_ins = "'" . $col[$field] . "' , " . $col_ins;
}

// reading next lines and insert into dB
while($data=fgetcsv($fp)){
    for($field=0;$field<count($data);$field++){
        $data_ins = "'" . $data[$field] . "' , " . $data_ins;
    }
    $query = "INSERT INTO `table_name` (".$col_ins.") VALUES(".$data_ins.")";
    $mysqli->query($query);
}    
echo 'Imported...';
0
Harsh Mathur