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

Langage PHP Discussion :

PHPExcel me sort un Excel illisible et je ne comprends pas pourquoi


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Chargé d'études informatiques
    Inscrit en
    Avril 2019
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Chargé d'études informatiques
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2019
    Messages : 55
    Par défaut PHPExcel me sort un Excel illisible et je ne comprends pas pourquoi
    Bonjour,

    Je travaille actuellement sur le developpement d'une application et j'ai besoin d'extraire les informations de ma base de donnée dans un fichier Excel au format xlsx.
    Pour ce faire j'utilise donc l'outil PHPExcel qui fonctionnait bien jusqu'à présent et qui me permettait d'afficher tout dans un fichier excel correctement.
    Sauf que depuis une semaine le fichier Excel généré est complétement illisible :
    Nom : Annotation 2020-02-10 113311.png
Affichages : 743
Taille : 139,6 Ko

    Le problème c'est que je n'ai rien touché au code, j'ai même essayé d'enlever tout ce qui venait de la base de donnée et ça revient au même :
    Code php : 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
     
    include('../PHPExcel/Classes/PHPExcel.php');
    		// création des objets de base et initialisation des informations d'entête
     
    	    $classeur = new PHPExcel;
     
    	    $classeur->getProperties()->setCreator("XXXXX");
     
    	    $classeur->setActiveSheetIndex(0);
     
    	    $feuille=$classeur->getActiveSheet();
     
     
     
    	    // ajout des données dans la feuille de calcul
     
    	    $feuille->setTitle('Nom affiché dans l\'onglet');
     
    	    $feuille->setCellValueByColumnAndRow(0, 1, 'NOM_ELEVE');
    	    $feuille->setCellValueByColumnAndRow(1, 1, 'PRENOM_ELEVE');
    	    $feuille->setCellValueByColumnAndRow(2, 1, 'SEXE');
    		$feuille->setCellValueByColumnAndRow(3, 1, 'DATE_NAISSANCE');
    		$feuille->setCellValueByColumnAndRow(4, 1, 'LIEU_NAISSANCE');
    		$feuille->setCellValueByColumnAndRow(5, 1, 'NATIONALITE');
    		$feuille->setCellValueByColumnAndRow(6, 1, 'MAIL_ELEVE');
    		$feuille->setCellValueByColumnAndRow(7, 1, 'PORTABLE_ELEVE');
    		$feuille->setCellValueByColumnAndRow(8, 1, 'PASSAGE');
    		$feuille->setCellValueByColumnAndRow(9, 1, 'LVA');
    		$feuille->setCellValueByColumnAndRow(10, 1, 'LVB');
    		$feuille->setCellValueByColumnAndRow(11, 1, 'EURO');
    		$feuille->setCellValueByColumnAndRow(12, 1, 'DNL');
    		$feuille->setCellValueByColumnAndRow(13, 1, 'OPTION_1');
    		$feuille->setCellValueByColumnAndRow(14, 1, 'OPTION_2');
    		$feuille->setCellValueByColumnAndRow(15, 1, 'SPECIALITE_1');
    		$feuille->setCellValueByColumnAndRow(16, 1, 'SPECIALITE_2');
    		$feuille->setCellValueByColumnAndRow(17, 1, 'SPECIALITE_3');
    		$feuille->setCellValueByColumnAndRow(18, 1, 'R1_CIVILITE');
    		$feuille->setCellValueByColumnAndRow(19, 1, 'R1_NOM');
    		$feuille->setCellValueByColumnAndRow(20, 1, 'R1_PRENOM');
    		$feuille->setCellValueByColumnAndRow(21, 1, 'R1_MAIL');
    		$feuille->setCellValueByColumnAndRow(22, 1, 'R1_DOMICILE');
    		$feuille->setCellValueByColumnAndRow(23, 1, 'R1_PORTABLE');
    		$feuille->setCellValueByColumnAndRow(24, 1, 'R1_BUREAU');
    		$feuille->setCellValueByColumnAndRow(25, 1, 'R1_ADRESSE');
    		$feuille->setCellValueByColumnAndRow(26, 1, 'ELEVE_RESIDE');
    		$feuille->setCellValueByColumnAndRow(27, 1, 'R1_LIEN');
    		$feuille->setCellValueByColumnAndRow(28, 1, 'R2_CIVILITE');
    		$feuille->setCellValueByColumnAndRow(29, 1, 'R2_NOM');
    		$feuille->setCellValueByColumnAndRow(30, 1, 'R2_PRENOM');
    		$feuille->setCellValueByColumnAndRow(31, 1, 'R2_MAIL');
    		$feuille->setCellValueByColumnAndRow(32, 1, 'R2_DOMICILE');
    		$feuille->setCellValueByColumnAndRow(33, 1, 'R2_PORTABLE');
    		$feuille->setCellValueByColumnAndRow(34, 1, 'R2_BUREAU');
    		$feuille->setCellValueByColumnAndRow(35, 1, 'R2_ADRESSE');
    		$feuille->setCellValueByColumnAndRow(36, 1, 'ELEVE_RESIDE');
    		$feuille->setCellValueByColumnAndRow(37, 1, 'R2_LIEN');
     
     
    	   // envoi du fichier au navigateur
     
    		 $writer = PHPExcel_IOFactory::createWriter($classeur, 'Excel2007'); 
     
    	     header('Content-type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
    		 header('Content-Disposition: attachment;filename="recap-'.date('Y-m-d').'.xlsx"');
    		 header('Cache-Control: max-age=0');
     
     
    	    $writer->save('php://output');

    Si quelqu'un s'y connait vous me seriez d'une énorme aide merci d'avance !

  2. #2
    Membre très actif Avatar de theocbr
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2019
    Messages : 206
    Par défaut
    Il faut encoder en utf8

    Si cela ne te convient pas , tu peux toujours ouvrir ton fichier avec Notepad++ puis le convertir en utf8 :

    Nom : yuyuyy.png
Affichages : 564
Taille : 20,9 Ko

  3. #3
    Membre confirmé
    Homme Profil pro
    Chargé d'études informatiques
    Inscrit en
    Avril 2019
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Chargé d'études informatiques
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2019
    Messages : 55
    Par défaut
    Je viens d'essayer en rajoutant cette ligne
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    header('Content-Type: text/html; charset=UTF-8');

    Et ça ne marche malheureusement pas

  4. #4
    Membre très actif Avatar de theocbr
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2019
    Messages : 206

  5. #5
    Membre confirmé
    Homme Profil pro
    Chargé d'études informatiques
    Inscrit en
    Avril 2019
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Chargé d'études informatiques
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2019
    Messages : 55
    Par défaut
    J'ai essayé vos deux solutions et cela ne fonctionne toujours pas, ce que je trouve vraiment bizarre c'est que cela fonctionnait très bien la semaine dernière et que maintenant cela ne fonctionne plus dutout alors que je n'ai pas touché à ce fichier depuis

  6. #6
    Membre très actif Avatar de theocbr
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2019
    Messages : 206
    Par défaut
    Tu peux également essayer de convertir depuis excel : http://blog.masamune.fr/gestion-enco...f-8-via-excel/

    Avant ça fonctionnait et du jour au lendemain non , étrange

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

Discussions similaires

  1. [PHPExcel] Génération de Fichiers Excel
    Par MaitrePylos dans le forum Bibliothèques et frameworks
    Réponses: 223
    Dernier message: 27/06/2016, 14h16
  2. [PHPExcel] Propriétés du fichier Excel 5 et 2007
    Par gfevrier dans le forum Bibliothèques et frameworks
    Réponses: 0
    Dernier message: 30/03/2012, 13h48
  3. [PHPExcel] Lire des fichiers excel enregistrer en HTML
    Par llaffont dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 09/11/2010, 13h18
  4. [XL-2007] Fonction sort dans Excel avec VBA
    Par vanyk dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 08/07/2009, 14h05
  5. [PPT-2007] Sort en Excel via Powerpoint
    Par Akxn0008 dans le forum VBA PowerPoint
    Réponses: 2
    Dernier message: 29/05/2009, 13h44

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