Bonjour,
J'utilise le JXLS pour générer un fichier XLS en faisant appel à une requête (JDBC).
J'ai développé le code suivant :
Le code ne BUG pas et ne donne aucune erreur, mais je n'arrive pas à télécharger le fichier XLS, aucune POP-UP n’apparaît pour me demander où je veux enregistré 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
36
37
38
39
40
41
42 public void export() throws SQLException { Connection con = null; Statement stmt = null; try { FacesContext facesContext = FacesContext.getCurrentInstance(); HttpServletResponse response = (HttpServletResponse)facesContext.getExternalContext().getResponse(); response.setContentType("application/octet-stream"); facesContext.responseComplete(); response.reset(); response.setBufferSize(900240); response.setHeader("Content-Disposition", "attachment; filename=myexcel.xls"); ServletOutputStream os = response.getOutputStream(); ServletContext servletContext = (ServletContext) facesContext.getExternalContext().getContext(); String absoluteDiskPath = servletContext.getRealPath("/resources/"); Class.forName("oracle.jdbc.driver.OracleDriver"); con =DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:XE", "user", "123456789"); stmt = con.createStatement(); String query = "SELECT id,nom,prenom FROM Transaction"; ResultSet rs = stmt.executeQuery(query); Map beans = new HashMap(); RowSetDynaClass rsdc = new RowSetDynaClass(rs,true); beans.put("Transaction", rsdc.getRows()); XLSTransformer transformer = new XLSTransformer(); Workbook workbook = transformer.transformXLS(new FileInputStream(absoluteDiskPath + "/template.xls"), beans); workbook.write(os); os.flush(); } catch (Exception e) { e.printStackTrace(); } finally{ if(con != null) con.close(); if(stmt != null) stmt.close(); } }
j'ai déjà utilisé ce Code et j'ai donné un chemin absolut et ça a marché, mais à cause que l'application est WEB, je peux pas définir un chemin absolut :/
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 public static void main(String[] args) throws SQLException, ParsePropertyException, InvalidFormatException, IOException { Connection con = null; Statement stmt = null; try { Class.forName("oracle.jdbc.driver.OracleDriver"); con =DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:XE", "user", "123456789"); stmt = con.createStatement(); String query = "SELECT id,nom,prenom FROM Transaction"; ResultSet rs = stmt.executeQuery(query); @SuppressWarnings("rawtypes") Map beans = new HashMap(); RowSetDynaClass rsdc = new RowSetDynaClass(rs,true); beans.put("Transaction", rsdc.getRows()); XLSTransformer transformer = new XLSTransformer(); transformer.groupCollection("Transaction.projet"); transformer.transformXLS( "src\\template.xls", beans,"E:\\Destinations.xls"); System.out.println("FINISH CHECK : E:\\Destinations.xls"); } catch (Exception e) { e.printStackTrace(); } finally{ if(con != null) con.close(); if(stmt != null) stmt.close(); } }
Partager