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 :

[PHPExcel] Un problème de boucle


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre actif

    Homme Profil pro
    Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Inscrit en
    Juillet 2006
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2006
    Messages : 404
    Points : 241
    Points
    241
    Par défaut [PHPExcel] Un problème de boucle
    Bonjour

    Je veux faire une boucle pour remplir des cellules excel suivant les données enregistrées.
    mais la boucle ne se fait pas, j'affiche le $i non augmenté et le dernier nom de la table.
    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
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    <?php
     
    // librairie nécessaire
    include_once'../PHP_include/date-script.php';
    include_once'../CLASS/Intermittents.class.php';
    include_once'../CLASS/prod.class.php';
    include_once'../CLASS/calculjour.class.php';
    include_once'../manager/manager.php';
    include '../classePHPExcel/PHPExcel.php';
    include'../classePHPExcel/PHPExcel/Writer/Excel2007.php';
     
    date_default_timezone_set('Europe/Paris');
     
     
    $date_du_jour = (strftime("%Y-%m-%d"));
    list($an,$mois,$jour)=explode("-",$date_du_jour);
     
    $datedujourFR=$jour."-".$mois."-".$an;
    $precedent='';
     
    $affich_prod2->execute(array($_GET['n']));
    $affichprod = $affich_prod2->fetch();
    $nomprod=new prod();
    $nomprod->hydrate($affichprod);
     
    $affich_equipe->bindValue(1, $_GET['n'], PDO::PARAM_INT);
    $affich_equipe->execute();
    $ligne=0;
     
     
    // objet php excel
    $workbook = new PHPExcel;
    //instance de la feuille corante
    $sheet =$workbook->getActiveSheet();
     
    //remplissage des cellules
     $sheet->getPageSetup()->setPaperSize(PHPExcel_Worksheet_PageSetup::PAPERSIZE_A4);
    $sheet->getPageSetup()->setOrientation(PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE);
    while ($donnees=$affich_equipe->fetch()){
    		if ($ligne==0){
    			$ligne++;
    			$prod=new prod();
    			$prod->hydrate($donnees);
     
    $sheet->setCellValue('A1',$prod->titre_presta());
    PHPExcel_Cell::setValueBinder( new PHPExcel_Cell_AdvancedValueBinder() );
    $sheet->setCellValue('B1',$prod->datedebutFR());
    $sheet->getStyle('B1')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_XLSX15);
    $sheet->setCellValue('A2',"Production");
    $sheet->setCellValue('B2',$nomprod->prenom_charge_prod()." ".$nomprod->nom_charge_prod());
    $sheet->setCellValue('A3',"Commercial");
    $sheet->setCellValue('B3',"non défini");
    $sheet->setCellValue('A4',"nter");
    }
     
    $intermittent=new intermittent();
    	$intermittent->hydrate($donnees);
    	$i=5;$i++;
    	$sheet->setCellValue('A'.$i,$i.$intermittent->nom()." ".ucfirst (mb_strtolower($intermittent->prenom())));
    	$sheet->setCellValue('B'.$i,$intermittent->fonction_presta());
     
     
     
    }
    $sheet->getColumnDimension('A')->setAutoSize(true);
    $sheet->getColumnDimension('B')->setAutoSize(true);
    $sheet->getColumnDimension('C')->setAutoSize(true);
    $sheet->getColumnDimension('D')->setAutoSize(true);
    $sheet->getColumnDimension('E')->setAutoSize(true);
     
    $sheet->setTitle($prod->titre_presta());
     
    $styleA1=array(
            'font'=>array(
                'bold'=>false,
                'color'=>array('rgb'=>'FFFFFF'),
                'size'=>20
            ),
            'fill'=>array(
                'type'=>PHPExcel_Style_Fill::FILL_SOLID,
                'color'=>array('rgb'=>'004489')
            ),
            'alignment'=>array(
                'horizontal'=>PHPExcel_Style_Alignment::HORIZONTAL_CENTER,
                'vertical'=>PHPExcel_Style_Alignment::VERTICAL_CENTER,
            )
        );
        $sheet->getStyle('A1:B1')->applyFromArray($styleA1);
    // *********************************************************
    //          *
    //          * Création de la deuxième feuille
    // *******************************************************
            //création de la nouvelle feuille
            $sheet2 = $workbook->createSheet();
            //nom de la feuille
            $sheet2->setTitle('LA feuille 2');
     
    //ojet writer pour définir le format de sortie défini ausi par la classe
    $writer = new PHPExcel_Writer_Excel2007($workbook);
     
     
    header('Content-type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
    header('Content-Disposition:inline;filename=Fichier.xlsx ');
    $writer->save('php://output');
    ?>

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu as mis $i vaut donc toujours 6.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre actif

    Homme Profil pro
    Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Inscrit en
    Juillet 2006
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2006
    Messages : 404
    Points : 241
    Points
    241
    Par défaut
    ben oui merci sabotage .
    une fois le §i=5 sorti de la boucle ça marche mieux.

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

Discussions similaires

  1. Problème de boucles imbriquées
    Par Gnux dans le forum Algorithmes et structures de données
    Réponses: 9
    Dernier message: 09/12/2005, 20h26
  2. [Tableaux] Problème avec boucle
    Par MYster dans le forum Langage
    Réponses: 6
    Dernier message: 11/11/2005, 18h39
  3. Problème de boucle
    Par TheUltimaSephiroth dans le forum C
    Réponses: 8
    Dernier message: 10/10/2005, 13h58
  4. Problème de boucle
    Par Louis-Guillaume Morand dans le forum Langage SQL
    Réponses: 3
    Dernier message: 25/09/2005, 09h10
  5. Problème de boucle
    Par basclln dans le forum C++
    Réponses: 19
    Dernier message: 02/04/2005, 09h13

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