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] Fichier quasi vide si généré avec Google Chrome, normal avec Firefox


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut [PHPExcel] Fichier quasi vide si généré avec Google Chrome, normal avec Firefox
    Bonjour,

    J'ai un fichier Excel généré avec Firefox qui se génère parfaitement, mais avec Google Chrome, je n'ai droit qu'aux headers :

    Nom : Capture d’écran 2017-05-14 à 18.35.01.png
Affichages : 734
Taille : 155,3 Ko

    Par contre, avec Firefox, j'ai toutes les informations.

    Est-ce que cela est déjà arrivé à quelqu'un ? si oui, l'avez-vous résolu ?

    Voici le code de mon fichier PHP :

    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
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    <?php
        //Code pour les nouvelles demandes d'agréments
     
    	//echo $_POST['sql'] . '\n\n\n';
     
        //IMPORTANT :  Il ne faut PAS inclure la connexion mais la mettre comme ci-dessous car bug connu avec PHPEXCEL (fichier gÈnÈrÈ via le navigateur inexploitable !!!!)
        try
        {
            $bdd = new PDO('mysql:host=127.0.0.1;dbname=qque', 'qqe', 'prive', array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));
     
        }
        catch (PDOException $e)
        {
            print "Erreur !: " . $e->getMessage() . "<br/>";
            die();
        }
     
        if (!isset($_SESSION))
        {
            session_start();
        }
     
        include 'PHPExcel.php';
        include 'PHPExcel/Writer/Excel2007.php';
        $objPHPExcel = new PHPExcel();
        $objPHPExcel->setActiveSheetIndex(0)->setTitle('Résultat filtre');
     
     
       $pharmaciens = $bdd->prepare($_POST['sql']);
       $pharmaciens->execute();
     
       $res = $pharmaciens->fetchAll(PDO::FETCH_OBJ);
     
    			//print_r($res);
     
       $i = 2;
       $temp_nombre_jours = 0;
       $objPHPExcel->getActiveSheet()->SetCellValue('A1', 'NOM');
       $objPHPExcel->getActiveSheet()->SetCellValue('B1', 'PRENOM');
       $objPHPExcel->getActiveSheet()->SetCellValue('C1', 'ADRESSE');
       $objPHPExcel->getActiveSheet()->SetCellValue('D1', 'CODE POSTAL');
       $objPHPExcel->getActiveSheet()->SetCellValue('E1', 'LOCALITE');
       $objPHPExcel->getActiveSheet()->SetCellValue('F1', 'PAYS');
       //$objPHPExcel->getActiveSheet()->SetCellValue('E1', 'ANNEE DEBUT AGREMENT');
       $objPHPExcel->getActiveSheet()->SetCellValue('G1', 'TELEPHONE');
       $objPHPExcel->getActiveSheet()->SetCellValue('H1', 'MAIL');
       $objPHPExcel->getActiveSheet()->SetCellValue('I1', 'DEBUT AGREMENT');
     
       //redimensionnement des colonnes afin d'avoir des colonnes en autosize
       for($col = 'A'; $col !== 'L'; $col++)
       {
            $objPHPExcel->getActiveSheet()
            ->getColumnDimension($col)
            ->setAutoSize(true);
        }
     
    				foreach($res as $donnees)
    				{
    								$styleArray = array('font' => array('bold' => true));
     
    								//je mets en gras le contenu de ces cellules
    								$objPHPExcel->getActiveSheet()->getStyle('A1')->applyFromArray($styleArray);
    								$objPHPExcel->getActiveSheet()->getStyle('B1')->applyFromArray($styleArray);
    								$objPHPExcel->getActiveSheet()->getStyle('C1')->applyFromArray($styleArray);
    								$objPHPExcel->getActiveSheet()->getStyle('D1')->applyFromArray($styleArray);
    								$objPHPExcel->getActiveSheet()->getStyle('E1')->applyFromArray($styleArray);
     
    								$objPHPExcel->getActiveSheet()->getStyle('F1')->applyFromArray($styleArray);
     
    								$objPHPExcel->getActiveSheet()->getStyle('G1')->applyFromArray($styleArray);
    								$objPHPExcel->getActiveSheet()->getStyle('H1')->applyFromArray($styleArray);
    								$objPHPExcel->getActiveSheet()->getStyle('I1')->applyFromArray($styleArray);
    								$objPHPExcel->getActiveSheet()->getStyle('J1')->applyFromArray($styleArray);
    								$objPHPExcel->getActiveSheet()->getStyle('K1')->applyFromArray($styleArray);
     
    								$objPHPExcel->getActiveSheet()->SetCellValue('A'.$i, $donnees->nom);
    								$objPHPExcel->getActiveSheet()->SetCellValue('B'.$i, $donnees->prenom);
    								$objPHPExcel->getActiveSheet()->SetCellValue('C'.$i, $donnees->adresse);
     
    								//pays
    								if(strtolower($donnees->pays) == "belgique")
    								{
    												$objPHPExcel->getActiveSheet()->SetCellValue('D'.$i, $donnees->code_postal_be);
    												$objPHPExcel->getActiveSheet()->SetCellValue('E'.$i, $donnees->libelle_be);
    												$objPHPExcel->getActiveSheet()->SetCellValue('F'.$i, "BELGIQUE");    
    								}
    								elseif(strtolower($donnees->pays) == "france")
    								{
    												$objPHPExcel->getActiveSheet()->SetCellValue('D'.$i, $donnees->code_postal_fr);
    												$objPHPExcel->getActiveSheet()->SetCellValue('E'.$i, $donnees->libelle_fr);
    												$objPHPExcel->getActiveSheet()->SetCellValue('F'.$i, "FRANCE");    
    								}
    								else
    								{
    												$objPHPExcel->getActiveSheet()->SetCellValue('D'.$i, $donnees->code_postal_lux);
    												$objPHPExcel->getActiveSheet()->SetCellValue('E'.$i, $donnees->libelle_lux);
    												$objPHPExcel->getActiveSheet()->SetCellValue('F'.$i, "LUXEMBOURG");    
    								}
     
     
    								 //$objPHPExcel->getActiveSheet()->SetCellValue('E'.$i, $donnees->SUBSTR(date_debut, 1, 4));
    									$objPHPExcel->getActiveSheet()->SetCellValueExplicit('G'.$i, $donnees->telephone, PHPExcel_Cell_DataType::TYPE_STRING);
    									$objPHPExcel->getActiveSheet()->SetCellValue('H'.$i, $donnees->mail);
    									$objPHPExcel->getActiveSheet()->SetCellValue('I'.$i, $donnees->date_debut);
     
     
    									$i = $i+1;
       }//fin du foreach
     
    				try
        {
            $writer = new PHPExcel_Writer_Excel2007($objPHPExcel);
     
     
    								$writer->save(str_replace('.php', '.xlsx', __FILE__));
     
    								echo 'Exportation OK, veuillez cliquer <a href="http://stageoff.ulb.ac.be/classes/Excel/Classes/filtre_generation_excel.xlsx"><img src="../../../images/excel.jpg" /></a> pour sauvegarder le document';
        }
        catch (PDOException $e)
        {
            print "Erreur !: " . $e->getMessage() . "<br/>";
            die();
        }
     
     
    ?>
    Merci d'avance pour l'aide.

  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
    Par défaut
    Tu as débugué un peu ?

    Est-ce que $res contient la même chose dans les deux cas ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut
    Merci pour ta réponse rapide.

    Je confirme que $res est identique pour Google Chrome et Firefox.

    bee

  4. #4
    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
    Par défaut
    Et si tu mets un
    tu obtiens la même progression dans les deux cas ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut
    Identiquement la même chose :

    Chrome :
    3456789101112131415
    Firefox :
    3456789101112131415
    Est-ce que ça pourrait être un problème d'en-tête ou de type MIME ?

    Le pire, c'est que parfois ça fonctionne, parfois ça ne fonctionne pas.

    Je ne comprends plus rien...

  6. #6
    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
    Par défaut
    Tu ouvres le fichier directement depuis son emplacement ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. PHPExcel : fichier généré impossible à ouvrir avec Excel
    Par Elianora la blanche dans le forum Bibliothèques et frameworks
    Réponses: 28
    Dernier message: 10/08/2016, 12h50
  2. Réponses: 5
    Dernier message: 26/01/2012, 21h28
  3. Fichier pdf affiché dans la page - google chrome
    Par jfsenechal dans le forum Général Conception Web
    Réponses: 1
    Dernier message: 29/08/2010, 23h43
  4. Est ce possible de parser un Fichier XML généré avec la persistance JAVA
    Par hbellahc dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 31/08/2007, 15h23
  5. Réponses: 5
    Dernier message: 05/12/2006, 15h04

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