Php et Excel

ndoyegallas Messages postés 1 Date d'inscription vendredi 30 novembre 2007 Statut Membre Dernière intervention 21 avril 2009 - 21 avril 2009 à 19:52
lefter Messages postés 63 Date d'inscription lundi 7 juin 2004 Statut Membre Dernière intervention 16 mai 2009 - 22 avril 2009 à 00:49
Slt je debute un projet sur php et j'aimerais connaitre comment lire un fichier excel avec du php pour charger ma base de données .
Je rappel que je travaille avec debian 4.
Merci

1 réponse

lefter Messages postés 63 Date d'inscription lundi 7 juin 2004 Statut Membre Dernière intervention 16 mai 2009
22 avril 2009 à 00:49
Quand tu travaille sur php, le système d'exploitation n'a pas d'importance, sauf pour le serveur (plus stable sous linux)^^

Pour charger une base de donnée, avec comme référence un fichier xls, j'exporte ce fichier sous format CSV (donnée en format texte séparé par des point-virgules, tous les versions d'excel font cela).

Puis c'est extrémement simplement, il suffit de faire un script pour récupérer les données comme ceci :

<?php

class MyPDO extends PDO
{
  public function __construct(){
    $dns='mysql:host=localhost;port=3306;dbname=MaBdd';

    parent::__construct($dns,'root','azerty');

  }

}

$bdd=new MyPDO( );      // Connection à ma base de donnée

$mon_fichier_xls=file_get_contents('monfichier.csv'); // On récupére le contenu du fichier de donnée
$mon_fichier=str_replace("\r","",$mon_fichier);   // On supprime le retour chariot

$mes_lignes=explode("\n",$mon_fichier);            // Sépare les lignes

foreach($mes_ligne as $ligne){      // Pour chaques lignes
    $donnee=explode(';',$ligne);      // On récupére les données dans la ligne
/*
$donnee[0] => Col A                        $donnee[1] => Col B
$donnee[2] => Col C                        $donnee[3] => Col D
.... etc .....
*/
$bdd->exec
('INSERT INTO ma_table(col1,col2, ....) VALUES ('.$donnee[0].',$donnee[1],....)'); // On insere dans la base de donnée
/* Je te rappelle faut bien définir et respecter les types de ta table sinon ta requête passe à la corbeille ^^ */
}

?>

Lefter
0
Rejoignez-nous