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

JSF Java Discussion :

Export vers excel depuis JSF avec netbeans


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 53
    Par défaut Export vers excel depuis JSF avec netbeans
    Bonjour,
    Malgré des reherches, je n'ai pas reussit à trouver mon bonheur.
    Donc voila mon probleme:
    Je travails sur JSF avec l'outil visuel de NetBeans.
    L'application semble bien tourné et je parviens à créer un rapport.
    J'aimerai désormais exporter ce dernier vers excel.
    J'utilise donc
    HttpServletResponse res = (HttpServletResponse)getExternalContext().getResponse();
    res.setContentType("application/vnd.ms-excel");
    res.setHeader("Content-Disposition", "attachment; filename=Report.xls");
    Ce bout de code me permet d'exporter ma page vers un fichier excel mais la page contient un peu de code et du coup ca empeche l'affichage dans Excel.
    Je voudrais donc savoir s'il était possible d'effectuer un export vers excel mais uniquement de la table souhaité.
    Merci pour votre aide.

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    si ton template ne contient que un <h:dataTable>, çà devrais n'exporter qu'une table, non?

  3. #3
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    Bonjour
    Citation Envoyé par Evenmor Voir le message
    Ce bout de code me permet d'exporter ma page vers un fichier excel mais la page contient un peu de code et du coup ca empeche l'affichage dans Excel.
    C'est à dire ? Veux tu reformuler s'il te plaît ?

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    djo.mos: je crois qu'il utilise un "truc" d'excel quand tu envoie un fichier de type excell (d'ou les header) qui contient juste une table html, excel convertit çà en une feuille

    Ca permet, depuis des application web de faire des "fichier excel" (qui sont en réalité du html, mais l'utilisateur vois pas la différence puisque excel l'ouvre sans broncher)

  5. #5
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 53
    Par défaut
    Oui, c'est ca. En fait, je ne souhaite pas créer exactement un fichier excel, je veux juste passer une table html dans un fichier d'extension xls pour qu'excel l'ouvre sous forme de tableau.
    Cependant mon probleme ici, c'est que avec netbeans, je ne parviens pas a créer une page avec juste la table. Il y a toujours un petit script et des balise XML qui empeche excel de l'ouvrir bien comme il faut.

    Dans le template JSF généré par netbeans, il y a plein de balise <JSP:root, <JSP: directiv.page etc.
    Et je ne peux pas les effacer, sinon netbeans me fait des erreurs.

    Je pensais au début à recréer une page vide avec uniquement la table à travers le code behind diretement...mais je n'y parviens pas vraiment.

    Vous n'auriez pas une idée svp?
    Merci

  6. #6
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    Citation Envoyé par Evenmor Voir le message
    Vous n'auriez pas une idée svp?
    Yep: exporter le contenu de la table dans un fichier CSV, ce qui est 100 fois plus propre.
    Rien de sorcier: il suffit d'ajouter un bouton ou lien "Export de CSV" qui invoque une méthode exportToCsv.
    Dans cette méthode, tu récupères l'outputStream du response (et tu l'enveloppes dans un writer), et d'ecrire le srésultat ladedans.

    Dans ce cas, le résultat est une boucle for sur tes lignes, et pour chaque ligne un print avec la valzeur de chaque colonne séparés par des ";" par exemple.

    Sinon, y'a aussi JasperReports qui te permet de faire ça (il se charge de générer le CSV ou XLS ou PDF etc.).

  7. #7
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Ben ouvre un notepad et fait ton fichier jsp à la main. Tu met un directive d'import des la taglib jsf et tu commence comme ceci:

    <h:datatable> etc etc.

    Si netbeans met des crasses dans tes fichier jsp dont t'arrive pas à te débarrasser, ben passe par par netbean pour créer le ficheir alors ^^ La seule chose qui compte c'est ce qui arrive dans la webapp.


    djo.mos: c'est bien le csv, et perso je préfère toujours ce format quand c'est possible, l'ennui c'est que c'est pas très user friendly. Le user va devoir choisir le caractère séparateur, le marqueur de texte et l'encodage du fichier. Hors, il faut admettre, 90% des user ont pas la moindre idée de ce que c'est. Et puis, il y a les client, qui souvent demande un export "Excel" et quand ils voient une page d'import ou faut entrer des trucs, ils sont pas contents

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Requete] Export vers Excel depuis Access
    Par Gylles_ dans le forum Requêtes et SQL.
    Réponses: 13
    Dernier message: 21/02/2014, 12h33
  2. Problem avec l'export vers excel 2003
    Par nico18987 dans le forum SharePoint
    Réponses: 4
    Dernier message: 26/04/2007, 16h57
  3. [Automation]export vers excel avec arborescence
    Par djo.alpha dans le forum Access
    Réponses: 5
    Dernier message: 20/04/2007, 09h55
  4. Réponses: 13
    Dernier message: 12/09/2006, 14h32
  5. Réponses: 5
    Dernier message: 25/04/2006, 16h04

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