Bonjour !
J'ai une application java (web) qui permet de télécharger un fichier csv conrrespondant au tableau affiché.
Pour ce faire :
et dans l'action web (je sais pas si c'est utile que je détail ça, mais on sait jamais ... ):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 ByteArrayOutputStream baos = new ByteArrayOutputStream(); PrintWriter out = new PrintWriter(baos); out.println("........"); ... ... out.flush(); out.close();
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 ExternalContext external = FacesContext.getCurrentInstance() .getExternalContext(); HttpServletResponse response = (HttpServletResponse) external .getResponse(); // formatage de la réponse response.setContentType("application/octet-stream"); response.setHeader("Content-Disposition", "attachment;filename=\"list.csv\""); // Ecriture dans l'output ServletOutputStream out; try { out = response.getOutputStream(); baos.writeTo(out); baos.flush(); FacesContext.getCurrentInstance().responseComplete(); } catch (IOException e) { e.printStackTrace(); }
Par ailleurs, le fichier est bien formé, lorsque je l'ouvre avec un éditeur de texte, genre notepad.
Lorsque je l'ouvre avec Excel, tous les accents sont remplacés par un code bizarre (ex : Quantité est nul)
Faut-il faire quelque chose dans le code java pour rétablir ces accents ?
Toutes les réponses sont les bienvenues
Merci beaucoup d'avance, je vous souhaite une bonne journée.
Partager