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] Maximum 31 characters allowed in sheet title


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 9
    Points : 2
    Points
    2
    Par défaut [PHPExcel] Maximum 31 characters allowed in sheet title
    Bonjour,

    Tout d'abord merci à MaitrePylos pour son tuto. Avec en plus la doc officielle c'est relativement facile.
    Je n'ai aucun souci pour lire les fichiers .xslx et .cvs en revanche lors de la lecture d'un fichier .xls avec le reader Excel5, j'ai des soucis.

    En effet firebug me renvoie:
    Uncaught exception 'Exception' with message 'Maximum 31 characters allowed in sheet title.'
    Stack trace:
    #0 /home/devmon01/WEB/reporting/utils/PHPExcel/Worksheet.php(704): PHPExcel_Worksheet::_checkSheetTitle('R?e?v?e?r?s?e?m...')

    Je capte pas pourquoi j'ai un "?" entre chaque lettre du titre de la feuille.

    Si quelqu'un a déjà rencontré ce problème je suis preneur de la solutions. J'ai trouvé un post étranger où un gars a le même souci mais aucune réponse...

    D'avance merci

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Hello MaitrePylos, merci pour ta réponse rapide.
    Je te joins la partie du code qui ne fonctionne pas comme je le voudrais.
    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
     
    //instanciation
    if($this->pageExiste('Garde') == true){
    	$this->pageGarde = new PageGardeXls($this->file);
    }
     
    //debut de la classe incriminée
    class PageGardeXls extends Page{
     
    	//page de garde
    	var $type_catalogue_cell = $CELL_TYPE_CATALOGUE_XLS;
    	var $catalogue_cell = $CELL_CATALOGUE_XLS;
    	var $commentaire_cell = $CELL_COMMENTAIRE_XLS;
    	var $version_cell = $CELL_VERSION_XLS;
     
    	//constructeur
    	public function  __construct($fichier, $index) {
    		parent::__construct($fichier);
    		$objReader = PHPExcel_IOFactory::createReader('Excel5');
    		$objReader->setReadDataOnly(true);
    		$objPHPExcel = $objReader->load($this->file);
    		$this->objWorkSheet = $objPHPExcel->getSheet($index);
    	}
    Voilà l'erreur est généré dès l'appel du constructeur

  3. #3
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 497
    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 497
    Points : 12 600
    Points
    12 600
    Par défaut
    Tu mélanges allègrement PHP 5 et PHP 4


    de plus tu fais appel à une classe étendue, je ne vois pas où se trouve la focntion
    ?

    Tu met des constante en variables, c'est un peu le fouillis.

    Optimise ton code et reposte les bons éléménts

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Hello MaitrePylos,

    Tout d'abord merci pour ta réponse.

    Le code que j'ai envoyé est certes pas très beau, mais bon...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    //constructeur
    public function __construct($fichier, $index) {
    parent::__construct($fichier);
    $objReader = PHPExcel_IOFactory::createReader('Excel5');
    $objReader->setReadDataOnly(true);
    $objPHPExcel = $objReader->load($this->file);
    $this->objWorkSheet = $objPHPExcel->getSheet($index);
    }
    Le reste n'a pas d'importance, ma classe mère ne comportant que des méthodes d'affichage et n'utilisant pas PHPExcel je ne voyait pas l'utilité de la mettre ici.
    La méthode qui plante est la méthode _checkSheetTitle() qui est native de la classe worksheet de PHPExcel ( Worksheet.php(704): PHPExcel_Worksheet::_checkSheetTitle('R?e?v?e?r?s?e?m...') )

    Lors de la lecture du titre de la feuille, j'ai un caractère supplémentaire ("?") entre chaque lettre ce qui m'amène à des titres trop long (max length = 31 char).
    J'ai testé en rebasculant PHPExcel en version 1.7.0 mais rien n'y fait.

    PS : Par curiosité, qu'est ce qui est PHP4 dans ce que j'ai posté avant ? C'est réellement un risque d'utiliser des méthodes des 2

    D'avance merci :d

  5. #5
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 497
    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 497
    Points : 12 600
    Points
    12 600
    Par défaut
    tu utilises le mot clé var et c'est cela qui est php4, ce n'est plus le cas en php5, d'autant plus que tu utilise __construct qui est php5.

    Pour ton souci regarde du côtè de l'encodage utf-8

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Re,
    En fait j'ai réussi finalement à ouvrir un .xls, pour cela j'ai du l'ouvrir avec Excel puis l'enregistrer en .xls Excel 5.0/95.
    Du coup le problème reste entier mais à mon avis le souci vient du fichier Excel en lui-même...

    Si je trouve une soluce j'en ferai part.
    ++

    MadProf

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Pour ceux qui auraient le même problème que moi :

    "Uncaught exception 'Exception' with message 'Maximum 31 characters allowed in sheet title.'"
    Lors de l'ouverture d'un fichier .xls voici la solution que j'ai adoptée:
    Mise à jour PHP de la 5.2.6 vers la 5.2.12.
    Utilisation du reader Excel2007 au lieu de Excel5.
    Du coup : impossibilité de lire les formules en revanche on peut lire les résultats en cellules.

    Je pense que cela viens du fait que les fichiers .xls que j'utilise ont été générés avec une version postérieure à Office 2003. j'essaierai avec un office 2000 quand j'en aurai un sous la main.

    ++

    MadProf

Discussions similaires

  1. The uploaded file exceeds the maximum allowed size in your PHP configuration file.
    Par razily dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 30/04/2012, 12h04
  2. [PHPExcel] Impossible de créer une nouvelle sheet
    Par beegees dans le forum Bibliothèques et frameworks
    Réponses: 0
    Dernier message: 10/01/2012, 10h26
  3. Maximum variable size allowed by the program is exceeded
    Par stephane2000 dans le forum Signal
    Réponses: 3
    Dernier message: 26/07/2011, 21h56
  4. [PHPExcel] Erreur sur un sheet non manipulé
    Par spark_legion dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 04/05/2011, 09h13
  5. Réponses: 12
    Dernier message: 07/07/2009, 22h58

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