Bonjour,

Je suis confronté à un nouveau problème, je dois crée un export d'une datatable vers un fichier excel (j'utilise jexcel api).
Je pense avoir fait ce qu'il fallait par rapport a tout ce que j'ai pu trouver sur le net, mais mon fichier s'affiche en binaire dans ma page au lieu de proposer le téléchargement. Je pense a un problème du coté des header http et du faces context (peut etre un pb de navigation) mais je ne vois pas.

Voici mon code :

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
 
	FacesContext context = FacesContext.getCurrentInstance();
        ExternalContext ec = context.getExternalContext();
        HttpServletResponse response = (HttpServletResponse) ec.getResponse();
        response.reset();
        response.setContentType("application/vnd.ms-excel");
        response.setHeader("Content-Disposition", "attachment; filename=export.xls");
        response.setHeader("Content-Transfer-Encoding", "binary");
        ServletOutputStream sop = null;
        WritableWorkbook workbook = null;
        try {
			sop = response.getOutputStream();
			workbook = Workbook.createWorkbook(sop);
		} catch (IOException e1) {
			e1.printStackTrace();
		}
 
//*********************
// remplissage du fichier excel
//*********************
 
		try{
			workbook.write();
			workbook.close();
			sop.flush();
			sop.close();
			context.responseComplete(); 
		} catch (IOException e) {
			e.printStackTrace();
		} catch (WriteException e) {
			e.printStackTrace();
		}
Toute idée sera la bienvenue.