Bonjour,
Je développe une application en J2EE, sur plateforme Websphere (WASD pour les Dev - WAS pour le serveur d'application).
Il possible pour l'utilisateur de télécharger des données au format Excel, sauf qu'un message d'erreur survient à ce moment là indiquant:
"Impossible d'accéder à '1ECE330F.xls' (ce nom est généré aléatoirement). Le fichier peut être en lecture seule, ou vous essayez peut-être d'accéder à un emplacement en lecture seule. Il est également possible que le serveur sur lequel est enregistré le document ne réponde pas"
En cliquant successivement sur "Annuler" puis "Ok" puis "Annuler" puis "Oui" sur la suite de popup, le fichier accepte de s'ouvrir mais Excel avertit alors: "Le fichier était trop endommagé pour pouvoir être réparer....etc etc"
Le fichier en lui même est correcte (il ne contient que du texte).
Au niveau du code:
J'ai essayé la variante response.setContentType("application/x-download"); au lieu du response.setContentType("application/vnd.ms-excel"); mais ça ne change rien.
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 HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sheet = wb.createSheet("Nom_feuille"); ... remplissage du document... try { row = sheet.createRow((short) lig++); addRowCotisations(sheet, lig, lstCotGeoReglees, false); response.setContentType("application/vnd.ms-excel"); response.setHeader("Content-Disposition", "attachment;filename=Export.xls"); OutputStream out = response.getOutputStream(); wb.write(out); out.close(); } catch (IOException e) { LOGGER.error(e.getMessage(), e); }
Pour moi, le serveur tente de créer un fichier tampon dans un répertoire où il n'a pas les droits avant de l'envoyer au client, mais je n'ai pas pu vérifier cette hypothèse.
Si quelqu'un sait comment faire qu'il se manifeste =)
Merci d'avance en tout cas.
Partager