Bonjour j'ai reussit a generer un fichier excel apartir d'une base de données avec api poi 'HSSF' mais mon problème est qaund je veux le téléchager sur la machine cliente voila mon code :
quand je le télécharge j'ai un fichier vide et excel me dit impossible d'ouvrir le fichier.
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 HttpSession session = request.getSession(); String requete=(String) session.getAttribute("requete"); String nom=(String) request.getParameter("nom_f"); response.setContentType ("application/vnd.ms-excel" ); response.setHeader ("Content-disposition", "attachement; filename="+nom+".xls" ); ResultSet rs=getResult(requete); ResultSetMetaData rmd= rs.getMetaData(); int k=1; HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sheet = wb.createSheet("Feuille"); HSSFRow row1 = sheet.createRow((short)0); HSSFCellStyle style = wb.createCellStyle(); HSSFFont font = wb.createFont(); font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); style.setFont(font); for(int i=0 ;i<rmd.getColumnCount();i++){ HSSFCell cell = row1.createCell((short) i); cell.setCellValue(new HSSFRichTextString(rmd.getColumnName(i+1).toString())); cell.setCellStyle(style); //System.out.println(rmd.getColumnName(i+1)); } while(rs.next()){ HSSFRow row = sheet.createRow((short)k); for (int i=0 ;i<rmd.getColumnCount();i++){ HSSFCell cell = row.createCell((short) i); cell.setCellValue(new HSSFRichTextString(rs.getObject(i+1).toString())); } k++; } FileOutputStream fileOut = new FileOutputStream(nom+".xls"); wb.write(fileOut); fileOut.close();
Partager