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 :

Création fichier excel retourné dans le navigateur


Sujet :

JSF Java

  1. #1
    Membre régulier Avatar de progamer54
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    242
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 242
    Points : 120
    Points
    120
    Par défaut Création fichier excel retourné dans le navigateur
    Bonjour,

    je cherche le moyen de créer un fichier excel à l'aide de données stockées dans un bean.
    Le fichier à créer est assez simple, donc j'aimerais ne pas me compliquer avec jasperReport. (J'ai un bean, je range les info dans le fichier excel point barre)
    J'ai vu qu'on pouvait faire des fichiers csv en java.
    Mais voici ma question. Comment retourner le fichier créé dans la réponse pour que le navigateur affiche la fenetre de dialogue 'enregistrer sous'?

    J'ai deja reussi en pdf grace a itext (il fournit tout ce qu'il faut). Mais là en excel je pile.

    Auriez-vous un conseil?

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 136
    Points : 66
    Points
    66
    Par défaut
    y'a l'api poi.jar qui permet de traiter tous ce qui est microsoft : word, excel ...

  3. #3
    Membre régulier Avatar de progamer54
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    242
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 242
    Points : 120
    Points
    120
    Par défaut
    ok merci . Je viens de tester le code là:
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    	public String exportExcel(){
     
    		FacesContext context = FacesContext.getCurrentInstance();
    		ExternalContext external = context.getExternalContext();
    		HttpServletResponse response = (HttpServletResponse) external.getResponse();
     
     
     
    		response.setContentType("application/octet-stream");
    		response.setHeader ("Content-Disposition", "attachment; filename=\"test.xls\"" );
    		HSSFWorkbook wb = new HSSFWorkbook();
    		HSSFSheet sheet = wb.createSheet("new sheet" );
     
    		// Create a row and put some cells in it. Rows are 0 based.
    		HSSFRow row     = sheet.createRow((short)0);
     
    		// Create a cell and put a value in it.
    		HSSFCell cell   = row.createCell((short)0);
     
    		cell.setCellValue(1);
     
    		// Or do it on one line.
    		row.createCell((short)1).setCellValue(1.2);
    		row.createCell((short)2).setCellValue("This is a string" );
    		row.createCell((short)3).setCellValue(true);
    		// Write the output  
    		OutputStream out;
    		try {
    			out = response.getOutputStream();
     
    			wb.write(out);
    			out.close();
    		} catch (IOException e) {
     
    			e.printStackTrace();
    		}
    		return null;
    	}
    mais quand j'ouvre le fichier enregistré sur mon disque(ça au moins ça marche) j'ai plein de truc bizarre dans le fichier excel. (ça ressemble au code de ma page html d'ailleurs...)
    trop chelou.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 511
    Points : 514
    Points
    514
    Par défaut
    met "FacesContext.getCurrentInstance().responseComplete();" à la fin de ton code java.

    Ansi jsf ne va pas passer dans la phase ou il crée la réponse en HTML

  5. #5
    Membre régulier Avatar de progamer54
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    242
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 242
    Points : 120
    Points
    120
    Par défaut
    MErci beaucoup.
    ça marche nikel!

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

Discussions similaires

  1. Réponses: 15
    Dernier message: 18/07/2014, 10h29
  2. Macro création fichier Excel à partir de critères dans une colonne
    Par Slackk dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 09/04/2014, 17h40
  3. Réponses: 0
    Dernier message: 03/04/2014, 14h50
  4. Import de fichier Excel (CSV) dans MySQL
    Par mathieu77186 dans le forum Outils
    Réponses: 2
    Dernier message: 27/03/2006, 23h23
  5. [VBA-E]Création fichier EXCEL et détection cellule vide
    Par benoue dans le forum Macros et VBA Excel
    Réponses: 18
    Dernier message: 24/02/2006, 17h22

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