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 :

[Excel] Exporter vers Excel


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut [Excel] Exporter vers Excel
    Bonjour,
    Je veux exporter une table MySQL vers un fichier EXCEL.Ma base de données:"lab" ma table:"equipment".
    Un exemple SVP? 8)

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    495
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 495
    Par défaut
    depuis phpmyadmin, tu peux generer des fichiers csv ..
    sinon, tu peux ecrire un script simple qui genere du csv et l'ouvrir avec excel..

  3. #3
    Invité
    Invité(e)
    Par défaut
    En faite,l'idée c'est que j'affiche des informations sur une page PHP,en bas de la page il y a un boutton,si l'utilisateur clique dessus un fichier excel doit se créer pour lui.
    As-tu un script?Merci!

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    495
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 495
    Par défaut
    creer un fichier excel, c'est plutot .. compliqué..
    creer un fichier de données csv, c'est tres simple.. l'enregistrer sur le disque et en proposer un lien pour le telecharger a l'utilisateur..

    mais desolé, je ne fournis pas de script tout fait.. et generer un fichier csv, c'est pas super dur..

    fichier CSV n. m.

    Fichier texte au format CSV contenant des éléments d'un tableur ou d'une base de données, dont les champs sont séparés par des virgules et qui est utilisé pour importer des données.

    Note(s) : Un fichier CSV peut être créé avec n'importe quel éditeur de texte.

    en clair.. c'est un fichier texte, une ligne de fichier texte =une ligne de tableur, et les données de chaque cellule separées par un caractere au choix .. en general, ";" ou "|" ou ",", à voir selon les données que tu as !

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2002
    Messages
    141
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : Tunisie

    Informations forums :
    Inscription : Août 2002
    Messages : 141
    Par défaut
    essay ce lien ca peut t'aider. bonne chance.

    http://pear.php.net/manual/en/packag...cel-writer.php

  6. #6
    Invité
    Invité(e)
    Par défaut
    J'ai trouvé un exemple qui crée le fichier excel,mais le problème c'est que j'ai un message d'erreur:
    Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-8\www\test5.php:8) in c:\program files\easyphp1-8\www\test5.php on line 55
    Une idèe?
    Merci Amine! sympa
    Dernière modification par julp ; 23/12/2006 à 11h42. Motif: [color] => [quote]

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2002
    Messages
    141
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : Tunisie

    Informations forums :
    Inscription : Août 2002
    Messages : 141
    Par défaut
    là tu doit enlever le header de ta page
    je uis sûre que ton programme génére le header automatiquement.
    enlève tous les les balises dans la pages

  8. #8
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2004
    Messages
    496
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 496
    Par défaut
    Rien ne doit être affiché à l'écran avant l'appel de la fonction header() (ya ptêt une balise html, un espace...)

    Sinon un autre moyen pour exporter vers un xls, c'est de faire un tableau html contenant toutes les infos de ta table (comme sur ta page web je suppose) puis de faire un echo dans le fichier xls que tu auras créé.
    Il l'xplique + en détail ici:
    http://www.developpez.net/forums/vie...+excel&start=0

  9. #9
    Invité
    Invité(e)
    Par défaut
    Ca donne rien!
    J'ai essayé aussi le lien que tu m'as envoyé et voilà ce que j'ai eu comme message d'erreur:
    Warning: main(Spreadsheet/Excel/Writer.php): failed to open stream: No such file or directory in c:\program files\easyphp1-8\www\test6.php on line 9
    Fatal error: main(): Failed opening required 'Spreadsheet/Excel/Writer.php' (include_path='.;C:/Program Files/EasyPHP1-8\php\pear\') in c:\program files\easyphp1-8\www\test6.php on line 9
    ???
    Dernière modification par julp ; 23/12/2006 à 11h43. Motif: [color] => [quote]

  10. #10
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2004
    Messages
    496
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 496
    Par défaut
    Ca veut dire qu'il ne trouve pas le fichier Spreadsheet/Excel/Writer.php

    Je te montre comment j'ai fait.
    D'abord tu crées le fichier xls et tu l'ouvres:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    header("Content-Type: application/vnd.ms-excel");
    header("Expires: 0");
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    header("content-disposition: attachment;filename=NomDuFichier.xls");
    tu crées un tableau(à remplir avec les données de ta table):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $text = "<table>";
    $text .= "<tr><td>Contact</td></tr>";
    $text .= "</table>";
    puis :
    Et ton fichier xls est rempli

  11. #11
    Invité
    Invité(e)
    Par défaut
    Le problème c'est que le fichier doit se créer tout seul se remplir puis l'envoyer au navigateur pour que la personne le sauvegarde sur sa machine! En aucun cas,il doit s'enregistrer dans le serveur.
    ????

  12. #12
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2004
    Messages
    496
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 496
    Par défaut
    essaie et tu verras qu'il l'enregistre bien sur l'ordinateur du client

  13. #13
    Invité
    Invité(e)
    Par défaut
    voilà le code que j'ai mis:
    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
    <html>
    <head>
    	<title></title>
    </head>
    <body>
    <?php
    header("Content-Type: application/vnd.ms-excel");
    header("Expires: 0");
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    header("content-disposition: attachment;filename=test.xls");
     
    $text = "<table>";
    $text .= "<tr><td>Contact</td></tr>";
    $text .= "</table>";
    echo $text;
    ?>
    </body>
    </html>
    Et voilà l'erreur qu'il me donne:
    Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-8\www\test8.php:8) in c:\program files\easyphp1-8\www\test8.php on line 10
    Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-8\www\test8.php:8) in c:\program files\easyphp1-8\www\test8.php on line 11
    Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-8\www\test8.php:8) in c:\program files\easyphp1-8\www\test8.php on line 12
    Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-8\www\test8.php:8) in c:\program files\easyphp1-8\www\test8.php on line 13
    ???
    Dernière modification par julp ; 23/12/2006 à 11h43. Motif: balises [color] remplacées par des balises plus appropriées

  14. #14
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2004
    Messages
    496
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 496
    Par défaut
    Citation Envoyé par billoum
    Rien ne doit être affiché à l'écran avant l'appel de la fonction header() (ya ptêt une balise html, un espace...)
    Garde uniquement ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    header("Content-Type: application/vnd.ms-excel");
    header("Expires: 0");
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    header("content-disposition: attachment;filename=test.xls");
     
    $text = "<table>";
    $text .= "<tr><td>Contact</td></tr>";
    $text .= "</table>";
    echo $text;
    ?>

  15. #15
    Invité
    Invité(e)
    Par défaut
    Merci Biloum c'était ça le problème

Discussions similaires

  1. [crystal report] export vers excel 2000 data only
    Par bobwilson dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 22/02/2005, 18h30
  2. Exporter vers Excel, et créer automatiquement un graphe
    Par NiKKiLLeR dans le forum Windows
    Réponses: 2
    Dernier message: 10/02/2005, 19h02
  3. Export vers Excel et saut de ligne dans cellule
    Par sbeu dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 16/08/2004, 15h53
  4. [CR] Exportation vers Excel
    Par djamel64 dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 01/12/2003, 14h52
  5. exportation vers excel
    Par Pm dans le forum XMLRAD
    Réponses: 3
    Dernier message: 24/01/2003, 14h48

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