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

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 17
    Points : 7
    Points
    7
    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
    Points : 44 155
    Points
    44 155
    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
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 17
    Points : 7
    Points
    7
    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
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

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

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

  5. #5
    Modérateur

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

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    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
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 17
    Points : 7
    Points
    7
    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 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    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 ?

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 17
    Points : 7
    Points
    7
    Par défaut
    Alors oui c'est bien un .xlsx quand je met ->$workbook->affiche ('Excel2007','Nagios_Statistics'); et c'est un .xls avec ->$workbook->affiche(Excel5','Nagios_Statistics');.

    je peux l'ouvrir avec Excel5 mais c'est pas vraiment le résultat attendu :

  9. #9
    Modérateur

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

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    Tu n'as pas un fichier exemple pour voir ?

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 17
    Points : 7
    Points
    7
    Par défaut
    du fichier généré ?
    si oui , je n'en ai pas car il refuse de s'ouvrir

  11. #11
    Modérateur

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

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    oui, mais tu peux l'enregistrer

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 17
    Points : 7
    Points
    7
    Par défaut
    Voila la version d'hier , donc ne fois que mon fichier se générait j'avais ça :

    Nom : Capture.PNG
Affichages : 3581
Taille : 7,3 Ko

    mais depuis ce beug je ne peux plus ouvrir de .xlsx via des scripts php

  13. #13
    Modérateur

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

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    Oui, ça j'ai bien compris, moi ce que je veux voir, c'est ce qu'il génère comme fichier maintenant, il n'y a aucun résultat, même pas un fichier corrompu ?

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 17
    Points : 7
    Points
    7
    Par défaut
    donc voila je le génère :

    Nom : Capture1.PNG
Affichages : 3376
Taille : 4,0 Ko

    et ça m'ouvre direct (la diference "(20)" -"(22)" est normale) :

    Nom : Capture2.PNG
Affichages : 4005
Taille : 92,3 Ko

  15. #15
    Modérateur

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

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    On vas y arriver

    Change le nom du fichier, pour ne aps avoir ce nombre !

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 17
    Points : 7
    Points
    7
    Par défaut
    j'espère

    yep j'ai changé le nom mais j'ai tjrs le problème

  17. #17
    Modérateur

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

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    Tente une fois ceci pour voir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    ob_end_clean();
    $workbook->affiche ( 'Excel2007','Nagios_Statistics');

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 17
    Points : 7
    Points
    7
    Par défaut
    ok ........................... MERCI !!!!!!! ça y est tous fonctionne !
    ta ligne permet de fait quoi ?? elle vide le contenu ?

  19. #19
    Modérateur

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

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    En fait c'est une façon pas propre te ti dire qu'il y a un caractère qui ne devrais pas être là.
    Tu dois le trouver, pour éviter d'utiliser cette fonction et ne pas avoir d'effet de bords plus tard.

    Content en tous cas que cela te dépanne.

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 17
    Points : 7
    Points
    7
    Par défaut
    ouais je vais quand même voir ce qui va pas mais merci beaucoup en tout cas !

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

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