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

Servlets/JSP Java Discussion :

Flux xls dans réponse au client


Sujet :

Servlets/JSP Java

  1. #1
    Membre extrêmement actif Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 242
    Par défaut Flux xls dans réponse au client
    Bonjour,

    Une servlet appelle une classe qui crée un fichier de format excel.

    Après enregistrement sur le serveur de ce fichier xls, l'appel suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    getServletContext().getRequestDispatcher("/fichier.xls").forward(
                    request, response);
    ... envoie le fichier au navigateur et l'utilisateur peut alors visualiser ou enregistrer le fichier.

    Mais je voudrai éviter l'enregistrement du fichier xls sur le serveur, et envoyer directement au client son contenu qui est en mémoire juste avant l'enregistrement.

    Comment faire cela ?

    Merci.

  2. #2
    Membre expérimenté Avatar de a.snaps
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 209
    Par défaut
    Quelque chose comme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ByteArrayOutputStream os = getByteArrayOutputStream();
    response.setContentLength(os.size());
    ServletOutputStream sos;
    sos = response.getOutputStream();
    os.writeTo(sos);
    sos.flush();
    ?

    Alex

  3. #3
    Membre extrêmement actif Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 242
    Par défaut
    Voila, voilou la solution :

    Pour envoyer un flux avec un contenu de type xls (réalisé avec jexcelapi) à partir de la Servlet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    response.setContentType("application/vnd.ms-excel");
    WritableWorkbook w = Workbook.createWorkbook(response.getOutputStream());
    WritableSheet s = w.createSheet("Demo", 0);
     
    s.addCell(new jxl.write.Label(0, 0, "Hello Word"));
    w.write();
    w.close();
    A+

  4. #4
    Membre expérimenté Avatar de a.snaps
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 209
    Par défaut
    Inversion de contrôle

  5. #5
    Membre extrêmement actif Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 242
    Par défaut
    Citation Envoyé par a.snaps
    Inversion de contrôle
    Excuse me, but I'm not understand ?

  6. #6
    Membre expérimenté Avatar de a.snaps
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 209
    Par défaut
    Pas grave... Si ca marche!
    Je disais juste que c'est de l'inversion de contrôle...
    Alex

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 12/06/2015, 13h40
  2. Flux dans une architecture client serveur
    Par Founin dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 16/12/2008, 21h51
  3. Recuperer un classeur xls dans une zone de liste
    Par uloaccess dans le forum Access
    Réponses: 3
    Dernier message: 11/11/2005, 14h58
  4. Afficher le contenu d'un fichier xls dans un DBgrid
    Par bianconeri dans le forum C++Builder
    Réponses: 5
    Dernier message: 03/09/2004, 16h35
  5. [Avancé] Recopie une session dans un autre client
    Par gregoun dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 29/06/2004, 12h11

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