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] Génération de Fichiers Excel [Tutoriel]


Sujet :

Bibliothèques et frameworks PHP

  1. #181
    Membre régulier
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2012
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2012
    Messages : 77
    Points : 85
    Points
    85
    Par défaut
    Dans la librairie PHPExcel, c'est bien ça?
    J'ai ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    // Try using realpath()
    if (file_exists($pFilename)) {
        $returnValue = realpath($pFilename);
    }

  2. #182
    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 pour faire un essais, peux-tu commenter cette ligne et refaire un test

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      $returnValue = realpath($pFilename);

  3. #183
    Membre régulier
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2012
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2012
    Messages : 77
    Points : 85
    Points
    85
    Par défaut
    Voilà qui est fait... mais le résultat reste le même.

    EDIT : j'ai aussi pensé à redémarrer le serveur! Ainsi qu'à vider le cache du navigateur. L'erreur ne vient pas de là...

  4. #184
    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
    Ok remet à l'origine.

    Essaye ton code avec le fichier Excel suivant

  5. #185
    Membre régulier
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2012
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2012
    Messages : 77
    Points : 85
    Points
    85
    Par défaut
    J'ai remis le File.php comme il était avant, j'ai redémarré le serveur. Puis j'ai télécharger le fichier.xls et remplacé le mien par celui-ci, à la racine du code.
    Rien n'y fait, j'ai toujours exactement les mêmes erreurs zipArchive.

  6. #186
    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 peux me faire un zip de tout ton brol pour que je teste (fichier, classe etc...).

    Gg

  7. #187
    Membre régulier
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2012
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2012
    Messages : 77
    Points : 85
    Points
    85
    Par défaut
    Non je ne vais pas pouvoir. Je traite de données confidentielles, et mon code ne doit pas sortir de la boite...
    J'ai trouvé une solution de contournement qui a été validée par l'entreprise :
    au lieu de créer un nouvel onglet dans un fichier, je créé directement un nouveau fichier. Je n'avais aucun problème pour la génération d'un document MSExcel. Libre à l'opérateur de le déplacer dans un autre document ou de s'organiser différemment.
    C'est pas très beau, mais ça fonctionne!

    Je te remercie du temps que tu m'as consacré et de l'aide que tu m'as apporté, notamment par le biais de ton super tuto! Mon stage se termine ce soir donc tous ces problèmes sont derrière moi maintenant!

  8. #188
    Futur Membre du Club
    Profil pro
    Webmaster
    Inscrit en
    Décembre 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2012
    Messages : 16
    Points : 7
    Points
    7
    Par défaut Passer à la ligne
    Bonjour à tous,

    Tout d'abord merci pour toutes les explications sur l'utilisation de phpexcel, tout fonctionne super bien, on a presque l'impression que la programmation est facile

    J'ai une petite question pour finaliser mon code.
    Je vous explique : après avoir appuyer sur un bouton, je récupère un fichier excel pour écrire des informations spécifiques de ma base de données. Je voudrais que chaque nouvelles informations s'insèrent les unes après les autres dans mon tableur excel cependant je n'ai pas trouvé comment aller à la ligne.
    L'insertion des données marche super bien et après je ne sais pas comment programmer comment faire pour passer à la ligne après chaque entrée.

    J'ai vu qu'on pouvait faire un \n ou un \r ou encore rechercher la dernière ligne écrite mais rien ne fonctionne. Je pense que j'oublie de mettre un élément essentiel ou que je ne vais pas dans la bonne direction.

    Quelqu'un aurait une idée de la programmation adéquate pour réaliser cette action?

    Merci d'avance

    Sarah

  9. #189
    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
    Comme dans l'article :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $sheet->setCellValueByColumnAndRow(1, 4, 'MaitrePylos');
    1 c'est le numéro de la ligne.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  10. #190
    Futur Membre du Club
    Profil pro
    Webmaster
    Inscrit en
    Décembre 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2012
    Messages : 16
    Points : 7
    Points
    7
    Par défaut
    Merci pour cette réponse mais j'ai utilisé la fonction FromArray($contenu, null, 'A2'); pour insérer mes données où j'ai définit à quel endroit je voulais insérer ma ligne mais comment faire en sorte que la ligne change dès que je rentre un groupe de données.
    J'avais pensé mettre quelque chose comme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $i = 1;
    $row = $i++;
    FromArray($contenu, null, 'A'$row);
    Ça n'a pas l'air de fonctionner...

  11. #191
    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
    Et tu n'as pas d'erreur ?

    Pourtant, il manque un concaténation dans ton code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    FromArray($contenu, null, 'A'.$row);//il manquait le point de concaténation

  12. #192
    Futur Membre du Club
    Profil pro
    Webmaster
    Inscrit en
    Décembre 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2012
    Messages : 16
    Points : 7
    Points
    7
    Par défaut
    oups j'ai mal réécrit le code.
    Maintenant il me dit qu'il y a une erreur de synthaxe dans ma ligne :

    $objet = PHPExcel_IOFactory::createReader('Excel2007');

  13. #193
    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
    non le souci est ailleurs tu n'as pas plus de code à nous fournir ?

  14. #194
    Futur Membre du Club
    Profil pro
    Webmaster
    Inscrit en
    Décembre 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2012
    Messages : 16
    Points : 7
    Points
    7
    Par défaut
    c'est bon j'ai trouvé pourquoi. mais il me rajoute ma ligne de données sur la première ligne pas sur celle qui sera la suivante en théorie (= la ligne 3);

    voici mon code :

    //CREER UNE LIGNE AVEC TOUTES LES DONNEES
    $ligne = array($Donnee1, $Donnee2, $Donnee3, $Donnee4, $Donnee5, $Donnee6, $Donnee7, $Donnee8, '', $Donnee10, $Donnee11, $Donnee12, $Donnee13, $Donnee14, $Donnee15, $Donnee16, $Donnee17, $Donnee18, '', $Donnee19, $Donnee20, $Donnee21, '', $Donnee23);

    // FAIRE LE LIEN AVEC LA LIBRAIRE PHPEXCEL
    include("PHPExcel/Classes/PHPExcel.php");
    include("PHPExcel/Classes/PHPExcel/Writer/Excel2007.php");

    //INCREMENTER LES LIGNES
    $i = 1;
    $row = $i++;

    //ECRIRE DANS LE FICHIER EXISTANT Fichier.xlsx
    $objet = PHPExcel_IOFactory::createReader('Excel2007');
    $excel = $objet->load('Fichier.xlsx');
    $sheet = $excel->getActiveSheet(0);
    $sheet->FromArray($ligne, null, 'A'.$row);
    $writer = PHPExcel_IOFactory::createWriter($excel, 'Excel2007');
    $writer->save('Fichier.xlsx');

  15. #195
    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 veut du code !!!!!!!

  16. #196
    Candidat au Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2013
    Messages : 3
    Points : 4
    Points
    4
    Par défaut PHPExcel caractères étranges
    Bonjour,

    J'essaye d'utiliser la librairie PHPExcel avec par exemple le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $workbook = new PHPExcel;
     
    $sheet = $workbook->getActiveSheet();
    $sheet->setCellValue('A1','MaitrePylos');
     
    $writer = new PHPExcel_Writer_Excel5($workbook);
    header('Content-type: application/vnd.ms-excel');
    header('Content-Disposition:inline;filename=Fichier.xls ');
    $writer->save('php://output');
    Mais voici le résultat que j'obtiens:
    ��ࡱ�;�� ����������������������������������������������������������������������������������������������������������
    �����������������������������������������������������������������������������������������������������
    ���������������������������������������������������������������������������������������������������������������������������������������������
    �������������������������������������������������������������������������������������������� ��������������������������������������������������������������������������������������������������������
    ��������������������������������������������������������������������������������������������������������������������������������������������
    �������������������������������������������������������������������������������������������������
    ��������������������������������������������������������������������������������Oh��+'��0�@Hh� � ���Untitled SpreadsheetUnknown CreatorUnknown Creator@��,�:�@��,�:� � ��B�=�%r8X"1��Calibri���
    � ��� � ��� � ��� � ��� � ��� �
    ��� � ��� � ��� � ��� � ��� � ��� � ��� � ��� � ��� � � � �����8�������������������������������3f������ff���f����������������������������������̙��̙3f�3���������fff����3f3�f333�3�3f33�333�- Worksheet��g���! MaitrePylos � ��*+������&ffffff�?'ffffff�?(�?)�?�"dXX333333�?333333�?U} $ � >�@d��dgg����� ����՜.��+,�0�HP X`hp x ��  Worksheet Feuilles de calculRoot Entry�������� �F��,�:���,�:��SummaryInformation(���� �F�Workbook������������ �FgDocumentSummaryInformation8������������ �F�
    ���������������������������������������������������������������������
    Je précise que j'utilise ce code à l'intérieur de jquery ui tabs, et lorsque je le sors des tabs, ça fonctionne à priori. D'après vous, d'où vient le problème ?

    Je ne souhaites pas affiché le rendu, mais simplement proposé à l'utilisateur d'enregistrer le fichier.

    Merci d'avance.

  17. #197
    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
    Citation Envoyé par anais1477 Voir le message
    Je précise que j'utilise ce code à l'intérieur de jquery ui tabs, et lorsque je le sors des tabs, ça fonctionne à priori. D'après vous, d'où vient le problème ?
    Tu fournis la réponse

    Quand tu appelles le header(), il prend toutce que tu lui passes et notamment tes entêtes jQuery.

    La meilleurs solution est d'externaliser ton code PHPExcel et puis dans ta page mettre un lien/bouton vers ce code, tu ne changeras pas de page et ton Excel sera générer.

  18. #198
    Candidat au Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2013
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    Mais d'après toi qu'est-ce qui pose problème dans ces entêtes ?

    En attendant une réponse c'est ce que j'ai fais du coup ^^

  19. #199
    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
    Heu rien, c'est un comportement tout à fait normal.

    http://php.net/manual/fr/function.header.php

  20. #200
    Candidat au Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2013
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    Ah d'accord.
    Merci de ton aide !

Discussions similaires

  1. [Excel] Bug I.Explorer après génération de fichiers excel
    Par wtoueress dans le forum Bibliothèques et frameworks
    Réponses: 20
    Dernier message: 30/06/2008, 13h40
  2. Génération de fichier Excel Ou Word
    Par Maz85 dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 23/08/2007, 17h28
  3. Génération de fichiers Excel à partir de code HTML
    Par grincheux dans le forum ASP.NET
    Réponses: 2
    Dernier message: 01/06/2007, 14h39
  4. [Excel] Génération de fichiers
    Par abidi_niz dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 11/07/2006, 09h29
  5. [VBA-E]Génération de fichiers Excel à partir d'un autre
    Par cyrille2k5 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 04/05/2006, 10h27

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