Excel vers Mysql

Bonjour tout le monde
J'ai un fichier Excel avec 20 colonnes et j'ai besoin de l'importer dans une table Mysql en passant par php.

Merci de m'aider svp

3 réponses

  • Votes
  • Date
  • Date décroissante
  1. Merci avion-f16 pour ton conseil, peux tu me montrer comment stp ?
    1. Chaque ligne est séparée par le caractère "\n" (qui représente un retour à la ligne). Tu peux donc utiliser la fonction explode pour obtenir un array où chaque entrée correspond à une ligne.
      Dans cette ligne, tu peux encore utiliser la fonction explode() pour mettre les données séparées par une virgule dans un array.

      En PHP, ça donne :
      <?php
      $fichier = 'fichier.csv';
      
      try {
      	$pdo = new PDO('mysql:host=localhost;dbname=ta_base','root','');
      
      	$file = fopen($fichier, 'r');
      	while(!feof($file)) {
      		$ligne = fgets($file);
      		if(!empty($ligne)) {
      			$ligne = rtrim($ligne, "\n");
      			$donnees = explode(',',$ligne);
      			$sql = 'INSERT INTO table VALUES(';
      		
      			foreach($donnees as $v) {
      				$sql .= $pdo->quote($v).',';
      			}
      			$sql = rtrim($sql, ',');
      			$sql .= ')';
      		
      			$pdo->exec($sql);
      		}
      	}
      } catch(PDOException $e) {
      	echo 'Erreur : '.$e->getMessage();
      }
      ?>