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

Bibliothèques et frameworks PHP Discussion :

[Excel] Récupérer la base de donnée en fichier Excel


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    377
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2013
    Messages : 377
    Points : 71
    Points
    71
    Par défaut [Excel] Récupérer la base de donnée en fichier Excel
    Voila mon objectif est de récupérer ma base de donnée sur Excel, pour cela j'utilise un code trouvé sur internet et qui normalemnt validé par la personne qui'elle l a mis en ligne. Mais moi quand je l'adapte avec ma base, ça m affiche des erreurs et des notices que j'arrive pas à résoudre.
    j'ai une notice array to string conversion ? au niveau de la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
                        $cell->value=$row->$champs[$k];
    Aussi au niveau de la fonction saveas : impossible de lire la prop saveas de la classe workbook (j'ai excel 2007). Merci de m'aider à trouver les erreurs
    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
    <?php
    $date = date("d-m-Y"); 
    $heure = date("H-i"); 
    $vam ="$date$heure.xls";  
    define("FILENAME","C:\\.xls".$vam);//define("FILENAME","C:\\Test.xls"); 
       // $conn=mysql_connect('localhost','root','') or die('Problème lors de la connexion à la BD MYSQL'); 
        //mysql_select_db('parc_transfos',$conn) or die('Problème lors de la sélection de la BD MYSQL'); 
    	include_once("../db_connection.php");
        if(file_exists(FILENAME)){unlink(FILENAME);} 
        $excel=new COM("Excel.application"); 
        $excel->sheetsinnewworkbook=2;//4 feuilles Excel 
        $excel->Workbooks->Add();//début de la création du classeur 
        $book=$excel->Workbooks(1); 
        /***************************/ 
        /*la première feuille Excel*/ 
        /***************************/ 
        $res=mysql_query("SELECT identifiant,marque,date_fabrication,type,puissance,qtite_huile,valeur FROM transformateur where zone='zone1'") or die('Problème lors de la réception des enregistrements'); 
    	if(mysql_num_rows($res)>0) 
          { 
            $sheet=$book->Worksheets(1);//La première feuille Excel 
            $sheet->Name="Zone1"; 
            /*$sheet->set_column('A:A', 20);*/ 
            $champs = array( $champs = array("identifiant","marque","date_fabrication","type","puissance","qtite_huile","valeur"));//les champs de la table etatcivil 
            $taille = count($champs);//Nombre de champs de la table=7 
            $total = mysql_num_rows($res);//Nombre d'enregistrements 
            $entete = array("identifiant","marque","date_fabrication","type","puissance","qtite_huile","valeur");//Première ligne du tableau Excel 
    		$i=2; 
            while($row=mysql_fetch_object($res)) 
                 { $j=65;//L'indice de la première colonne du tableau Excel 
                   $k=0;//L'indice du chanmp de la table 
                   for($s=1;$s<=($taille);$s++) 
                      {  
                        $cell=$sheet->Range(chr($j).'1');//L'entete                 
                        $cell->Interior->ThemeColor=4;// la couleur de l'entête du tableau                   
                        $cell->value="".$entete[$k]; 
                        $cell->HorizontalAlignment=-4108; 
                        $cell->Font->ColorIndex = 41;// 41-le bleu  3-pour le rouge 
                        $cell->Font->Bold = True;//écrire le titre en gras 
                        // 
                        $cell=$sheet->Range(chr($j).$i);//les valeurs des champs         
                        $cell->value=$row->$champs[$k]; 
                        $cell->Interior->ThemeColor=3;// la couleur du tableau 
                         if ($k==3){$cell->NumberFormat="jj/mm/aaaa";}//Format date de               
                             else {$cell->NumberFormat="@";}//Format text  
                        $length = mysql_field_len($res, $k+1);//la taille du champ dans la table Mysql  
                        $cell=$sheet->Range(chr($j).$i)->ColumnWidth = $length+4; 
                        $cell->VerticalAlignment; 
                        $j++;//Passer à l'autre colonne du tableau Excel 
                        $k++;//Passer à l'autre champ de la table 
                      }  
                   $i++; //Passer à l'autre ligne du tableau Excel 
                 }//fin de while                                    
          }//fin de if 
        else{ 
            die('La table est vide'); 
        } 
        /***********************/ 
        $book->saveas(FILENAME); 
        unset($sheet); 
        unset($book); 
        $excel->Workbooks->Close(); 
        $excel->Quit(); 
        unset($excel);     
    ?>

  2. #2
    Membre actif
    Profil pro
    Responsable de service informatique
    Inscrit en
    Août 2006
    Messages
    174
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 174
    Points : 232
    Points
    232
    Par défaut
    Bonjour,

    Je n'ai pas regardé le code mais pourquoi ne pas faire l'export depuis ton sgbdr.

    Certains sgbdr proposent des exports en csv.

    Bon, cela ne répond pas à ton problème mais à ton objectif.

    Natso

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    377
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2013
    Messages : 377
    Points : 71
    Points
    71
    Par défaut
    tout simplement car je veux faire cela avec un boutton

Discussions similaires

  1. Réponses: 9
    Dernier message: 26/08/2016, 09h13
  2. [MySQL] Export Base de Donnée en fichier Excel via PHP
    Par Waka56 dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 01/06/2011, 18h31
  3. Extraire une base de données en fichier Excel
    Par julia_m dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 24/09/2010, 18h24
  4. Récupérer ma base de donnée avec des tables en .frm uniqueme
    Par Michas dans le forum Administration
    Réponses: 5
    Dernier message: 31/08/2005, 13h57
  5. Stockage de xml : base de données ou fichiers
    Par ahebert dans le forum XQUERY/SGBD
    Réponses: 1
    Dernier message: 26/08/2005, 07h28

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