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 :

Syntaxe PHPexcel pour extract excel


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Décembre 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2013
    Messages : 6
    Points : 2
    Points
    2
    Par défaut Syntaxe PHPexcel pour extract excel
    Bonjour

    Je me permet de vous contacter pour des soucis de syntaxe sur des extracts excel 2007 que je n'arrive pas à corriger.

    Je m'explique avec un exemple:

    Le but étant de faire un extract d'une table SQl dans un fichier excel 2007.
    POur l'exemple je prendrai une table avec deux entrées:
    Date ( JJ/MM/YYYY)
    Numéro ( 10 chiffres )

    Mon code qui fonctionne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $objPHPExcel->setActiveSheetIndex(0)
    ->setCellValueByColumnAndRow(1,1,utf8_encode("Date"))
    ->setCellValueByColumnAndRow(2,1,utf8_encode("Numéro"));
    $xlsRow = 2;
     
    $objPHPExcel->getActiveSheet()      -->setCellValueByColumnAndRow(1,$xlsRow,utf8_encode($row['date']))      -->setCellValueByColumnAndRow(2,$xlsRow,utf8_encode($row['numero']));
    $xlsRow++;
    Les codes que j'ai récupéré grace au merveilleurx Tuto sur le sujet;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $sheet->getStyle('B43')->getNumberFormat()->applyFromArray(
                array(
                    'code' => 'dd/mm/yyyy'
                )
            );
    $sheet->getColumnDimension('2')->setWidth(15);
    Maintenant mon problème:
    J'ai beau les intégrer dans tous les sens le code ne fonctionne pas.
    Y a t'il un endroit spécial, dois je les rajouter ailleurs, enfin bref si quelqu'un à une idée je suis preneur.
    J'ai réussi tous seul juste que la avec mes maigres connaissance mais la je tourne en rond.

    Merci d'avance

  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
    Je n'ai pas compris ce qui fonctionnait et ce qui ne fonctionnait pas dans ton histoire.

    Au passage tu n'as pas besoin de ut8_encode() pour des nombres (ou des dates puisque ce sont des nombres)
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Décembre 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2013
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    La premiè partie du code fonctionne très bien.
    J'exporte dans le tableur deux colonnes date et nombre et autant de fois que la table est renseignée.

    A l'extract par contre;
    La colonne Date est formatée par excel en format texte difficile de récupérer ensuite.
    La colonne Numéro est trop petit et m'affiche les valeurs en exposant: 12345678e+2

  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
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu veux changer ce que tu vois dans le fichier Excel ou c'est que tu veux le lire avec PHPExcel quand tu as le problème ?
    Ce n'est pas le même problème : quand tu ouvres un fichier excel les valeurs sont présentés avec un formattage, mais quand PHPExcel va lire le fichier excel, il verra la valeur seulement.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Décembre 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2013
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Tu veux changer ce que tu vois dans le fichier Excel ou c'est que tu veux le lire avec PHPExcel quand tu as le problème ?
    Ce n'est pas le même problème : quand tu ouvres un fichier excel les valeurs sont présentés avec un formattage, mais quand PHPExcel va lire le fichier excel, il verra la valeur seulement.
    C'est bien ce qui est lu dans le fichier excel après extract qui m'interesse de bien formater; sql vers excel et pas l'inverse

  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
    Points : 44 155
    Points
    44 155
    Par défaut
    Essaie ça (en supposant que ce soit bien B et C et pas A et B)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $sheet->getStyle('B2')->getNumberFormat()->setFormatCode('dd/mm/yyyy');
    $sheet->getStyle('C2')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT);
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Décembre 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2013
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Tu supposais bien;

    Merci pour les syntaxes, c'est plus ou moins celle que j'avais trouvée mais ou dois je les mettres dans mon code?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $objPHPExcel->setActiveSheetIndex(0)
    ->setCellValueByColumnAndRow(1,1,utf8_encode("Date"))
    ->setCellValueByColumnAndRow(2,1,utf8_encode("Numéro"));
    $xlsRow = 2;
     
    $objPHPExcel->getActiveSheet()      -->setCellValueByColumnAndRow(1,$xlsRow,utf8_encode($row['date']))
    $sheet->getStyle('B2')->getNumberFormat()->setFormatCode('dd/mm/yyyy');      -->setCellValueByColumnAndRow(2,$xlsRow,utf8_encode($row['numero']));
    getStyle('C2')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT);
    $xlsRow++;

  8. #8
    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
    Ah parce que le truc au début c'était un vrai code ?
    Impossible que ça ait fonctionné un jour.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $xlsRow = 2;
    $sheet = $objPHPExcel->getActiveSheet();
    $sheet->setCellValueByColumnAndRow(1,$xlsRow,$row['date']);
    $sheet->getStyleByColumnAndRow(1, $xlsRow)->getNumberFormat()->setFormatCode('dd/mm/yyyy');
    $sheet->setCellValueByColumnAndRow(2,$xlsRow,$row['numero']);
    $sheet->getStyleByColumnAndRow(2, $xlsRow)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT);
    $xlsRow++;
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Décembre 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2013
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Le code complet de la vrai page par mp

Discussions similaires

  1. PHPExcel pour générer des rapports excel
    Par roy2work dans le forum Langage
    Réponses: 9
    Dernier message: 25/09/2013, 16h28
  2. Solution pour Extraction de données Excell ? Routines?
    Par ccbbrr172 dans le forum Alimentation
    Réponses: 8
    Dernier message: 28/03/2008, 16h37
  3. Réponses: 1
    Dernier message: 03/08/2006, 13h34
  4. quelle syntaxe svp pour ce code ?
    Par man123 dans le forum Langage
    Réponses: 10
    Dernier message: 16/11/2005, 01h05
  5. Syntaxe PARAMETERS pour requête sous VBA
    Par GAGNON dans le forum VBA Access
    Réponses: 3
    Dernier message: 28/11/2003, 12h39

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