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

EDI, CMS, Outils, Scripts et API PHP Discussion :

PHPExcel : Impossible s'ouvrir le fichier .xlsx car son format ou son extension n'est pas valide


Sujet :

EDI, CMS, Outils, Scripts et API PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 17
    Par défaut PHPExcel : Impossible s'ouvrir le fichier .xlsx car son format ou son extension n'est pas valide
    C e matin j'ai relancé mon script permettant de créer mon fichier .xlsx et j'ai eu un message d'erreur ;

    "Impossible s'ouvrir le fichier "....xlsx" car son format ou son extension n'est pas valide. Vérifiez que le fichier n'est pas endommagé et que son extension correspond bien au format du fichier "

    Ce message m'étonne grandement car hier je n'ai eu aucun problème alors que j'ai fais de multiples essais pour m'assurer que tous fonctionnait correctement.

    Voici les parties de codes qui selon moi posent problème :
    -Mon file Export :
    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
    require 'PHPExcel.php';
    class FileExport extends PHPExcel {
     
     
    	public function  __construct() {
    		parent::__construct();
    	}
     
    	public function affiche($format = 'Excel5',$nomFichier = 'Tableur'){
     
    		switch($format){
    			case 'Excel2007' :
    				include 'PHPExcel/Writer/Excel2007.php';
    				$writer = new PHPExcel_Writer_Excel2007($this);
    				$ext  = 'xlsx';
    				$header = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';
    				$writer->setPreCalculateFormulas(false);
    				break;
    Le fichier ou je crée mon Excel :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    class XlsGeneratorNagiosStatistics {
     
    	private $year;
    	private $rows;
    function __construct($nagiosListingxls, $year) { // definition des colonnes
    		$workbook = new FileExport ();
     
    		$this->year = $year;
    		$sheet = $workbook->getActiveSheet ();
                     .
                     .
                     .
                     $workbook->affiche ( 'Excel2007','Nagios_Statistics')


    Comment éviter ce problème ?

  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 peux essayer d'ouvrir ton fichier avec un editeur de texte pour voir s'il n'y a pas des affichages d'erreurs PHP dedans.
    Également si tes fichiers sont encodés PHP "avec BOM" cela peut poser problème.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 17
    Par défaut
    ba si je l'ouvre avec un éditeur c'est pas glorieux, il y a des caractères incompréhensibles...
    Mais c'est vraiment bizarre, autant hier tous fonctionnait a merveille et ce matin je pouvais plus l'ouvrir ....

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 17
    Par défaut
    Voila l'erreur en question :

    Nom : Erreur Exel .PNG
Affichages : 4261
Taille : 17,9 Ko

  5. #5
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Tu as bien ceci à la fin de ta fonction affiche()


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
      header('Content-type:' . $header);
            header('Content-Disposition:inline;filename=' . $nomFichier . '.' . $ext);
            $writer->save('php://output');

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 17
    Par défaut
    Yep en soit c'est tiré de ton tuto et je n'ai pas fais de modification sur cette classe.
    http://g-ernaelsten.developpez.com/t.../?page=extends

    après si je remplace le : $workbook->affiche ( 'Excel2007','Nagios_Statistics'); par $workbook->affiche ( 'CSV','Nagios_Statistics'); en modifiant mon code ça ouvre bien l'excel Nagios_Statistics.csv mais bon j'ai besoin du PHPExcel ...

    Après le excel qui est dispo sur mon pc est le 2010, je sais pas si ça à une importance

  7. #7
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Alors, j'ai déjà eu ce genre de problème, une des première piste est de vérifier que le fichier que tu génères porte bien l'extension '.xlsx'
    Ensuite j'ai de bien meilleurs résultat avec Excel5

    Essaye ces deux pistes pour voir ?

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

Discussions similaires

  1. [XL-2010] Impossible d'ouvrir un fichier excel 2010 (Vba)
    Par Nemesis-fr dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 27/12/2013, 14h57
  2. Impossible d'ouvrir un fichier Excel
    Par shikakus dans le forum ASP.NET
    Réponses: 2
    Dernier message: 30/06/2010, 21h12
  3. Excel ne s'ouvre plus
    Par tiftay01 dans le forum Windows XP
    Réponses: 7
    Dernier message: 29/06/2008, 13h57
  4. [E 07] Impossible d'ouvrir un fichier Excel
    Par Niagala dans le forum Excel
    Réponses: 10
    Dernier message: 06/02/2008, 07h07
  5. fichier excel ne s`ouvre plus?????
    Par redabadache3 dans le forum Excel
    Réponses: 2
    Dernier message: 24/12/2005, 10h59

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