bonjour,
dans une méthode, je cree un fichier EXCEL en utilisant jexcel api voila comment je fais :
et pour lire le fichier excel j'utilise la lecteur du flux comme suit :
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 recepList=recepForm.getRecepList(); WritableWorkbook classeur = Workbook.createWorkbook (new File ( "&output&.xls")); WritableSheet sheet = classeur.createSheet("First Sheet", 0); for (int j=0;j<recepList.size();j++){ Recep recep1 = (Recep) recepList.get(j) ; System.out.println(j); String art1=recep1.getArticle(); System.out.println(art1); String nd=recep1.getND(); System.out.println(nd); String nf=recep1.getNF(); System.out.println(nf); String prof=recep1.getProfil(); System.out.println(prof); Label label = new Label(1, j+1, art1); sheet.addCell(label); Label label1 = new Label(2, j+1, nd); sheet.addCell(label1); Label label2 = new Label(3,j+1, nf); sheet.addCell(label2); Label label3 = new Label(4, j+1, prof); sheet.addCell(label3); } classeur.write(); classeur.close();
ensuit je fais un forward :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 response.setContentType("application/octet-stream"); response.setHeader("Content-Disposition","attachment; filename=\"&output&.xls\""); // Calculer le flux à renvoyer au client FileInputStream is = new FileInputStream("&output&.xls"); byte buffer[] = new byte[1024]; int nbLecture; // Envoyer le flux dans la réponse OutputStream os = response.getOutputStream(); while ((nbLecture = is.read(buffer)) != -1) { os.write(buffer, 0, nbLecture); } os.close();
ça marche bien il me génère le fichier excel et l'ouvre mais ne fait le forward vers la jsp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 return mapping.findForward("test2");
voici le message d'erreur:
c'est pas possible de lire le fichier et faire un forward vers une jsp ??
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2Impossible d'utiliser faire-suivre (forward) après que la réponse ait été envoyée
comment je fais j'ai besoin de faire ça??
sinon comment ouvrir le fichier excel sans utiliser la lecteur du flux car je pense que c'est elle qui pose prob ??
merci de me répondre
Partager