supinfo
Ouverture de  SUPINFO USA à San Francisco en 2008. Des études en informatique en Californie à un tarif abordable ! Inscrivez-vous dès maintenant !
supinfo
Connexion :

Recherche

  
   Tout| Actus| Télécharger| Comparateur de prix| Dossiers| Forums| Jeux| Google

4 messages
ok
Bonjour,

Depuis mon programme Java je dois créer un fichier Excel.
J'ai opté pour la méthode JDBC (que j'ai utilisé par ailleurs pour lire dans un autre fichier Excel). Mais j'ai l'impression d'avoir du mal à saisir le fonctionnement.

Code :
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection c = DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Excel Driver (*.xls)};DBQ=machin.xls;READONLY=false");
Statement st = c.createStatement();

String tableName = "matable";

/** Création de la table (l'onglet) **/
String createQry = "Create table " + tableName  + " (NUM INTEGER, NOM STRING, TEL STRING)";
System.out.println("createQry = " + createQry);
st.executeUpdate(createQry);

En exécutant le code ci-dessus, un fichier "machin.xls" est créé mais il est illisible sous Excel (Excel 2002) : il le fait irrémédiablement planter.

J'ai découvert par hasard que si tableName contenant une chaine du genre "matable.bidule", j'obtenais -en plus du même fichier "machin.xls" toujours illisible- un fichier "matable.xls" -lisible lui- contenant un onglet (une feuille) nommé "bidule" et qui avait bien les 3 colonnes voulue (NUM, NOM, TEL).

J'ai essayé de retirer le DBQ=machin.xls; dans la chaine de connection. mais dans ce cas là j'obtiens une SQLException: No data found.

Bien sûr je pourrais supprimer le fichier "machin.xls" à la fin de mon traitement, mais je trouve ça un peu "crade" :paf:

Ma conclusion c'est donc que j'ai raté un gros chapitre de l'utilisation d'un driver JDBC pour Microsoft Excel et que je dois m'en retourner vers vous :jap:
 
 
Pour créer un fichier Excel tu peux utiliser une API comme POI : http://jakarta.apache.org/poi/index.html
 
 
 
Finalement pour mon problème, j'ai opté pour JDBC Microsoft Access (parce qu'au final, derrière il valait mieux avoir une base Access qu'un fichier Excel).
Mais je garde les deux API (car je risque de ravoir à utiliser des fichiers Excel).
Merci à vous :jap:
 
 
 
4 messages
ok
 
Vous devez être connecté pour écrire un message !
 
 
Clubic.com
 
Achetez-facile.com
 
Jeuxvideo.fr
 
neteco.com
 
mobinaute.com