Créer et remplir un fichier excel en java ? [Fermé]

Signaler
Messages postés
176
Date d'inscription
vendredi 15 juin 2001
Statut
Membre
Dernière intervention
17 juillet 2003
-
Messages postés
623
Date d'inscription
vendredi 26 juillet 2002
Statut
Membre
Dernière intervention
11 novembre 2012
-
Est-ce possible de créer et remplir un fichier excel en java ?

Si oui quelles sont les classes que je doit utiliser ou y a-t-il des classes faites maisons que je doit rajouter ?

Puis-je remplir mon fichier en ne mettant pas toutes mes infos dans la même cellule ? (faire une présentation un peu joli)

Merci de me répondre rapidement.

3 réponses

En fait, tu peux créer un fichier .CSV qui sera compatible avec Excell... tu le crée en Java comme un fichier texte normal auquel tu met l'extension .CSV

Ensuite, tu écris dans le fichier : à chaque ligne de ton fichier correspond une ligne sous excell. Chaque cellule est séparé par une virgule ou un ; (je ne sais plus exactement)
Je n'en sais malheureusement pas plus pour ce qui est de la mise en forme (largeur des cellules, police utilisée...etc.) fait quelque essais.


Pour ce qui est du code, tu peux faire un truc du type :

PrintStream l_out = new PrintStream(new FileOutputStream(chemin + nom du fichier));
try {
//on écrit les lignes :
l_out.print("Première ligne ,");
l_out.print("on change de cellule,");
// à cause de la virgule dans la chaine précédente.
l_out.println("idem");
l_out.print("on change de ligne,");
// a cause du "printLN" précédent au lieu du "print".
l_out.print("on change de cellule");

//on ferme le fichier :
l_out.flush();
l_out.close();
l_out=null;
}
catch(Exception e){System.out.println(e.toString())}

Voilà, j'espère avoir été un peu clair
bon courage
jibé
11
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 59706 internautes nous ont dit merci ce mois-ci

Bonjour, c'est des ";" et non des ","

Voilà une code compilable :

import java.io.*;


public class Text1 {

public static void main(String[] args) {

try {
PrintStream l_out = new PrintStream(new FileOutputStream("exemple.csv"));
//on écrit les lignes :
l_out.print("Première ligne ;");
l_out.print("on change de cellule;");
// à cause du point vitgule dans la chaine précédente.
l_out.println("idem");
l_out.print("on change de ligne;");
// a cause du "printLN" précédent au lieu du "print".
l_out.print("on change de cellule");

//on ferme le fichier :
l_out.flush();
l_out.close();
l_out=null;
}
catch(Exception e){System.out.println(e.toString());}
}


}
Messages postés
53
Date d'inscription
jeudi 28 juin 2007
Statut
Membre
Dernière intervention
23 octobre 2009
3 > Program'or
si par la suite je change le contenu de mon programme est ce que le fichier excel sera modifié automatiquement ?
> Program'or
Bonjour,
étant débutant en java j'ai utilisé votre bout de programme pour créer un fichier CSV avec java ceci à partir d'une jTable.
Maintenant je cherche comment faire l'inverse c'est à dire comment mettre des données d'un fichier CSV dans une jTable

Merci d'avance
PapyDede
Merci bcp vous venez de me rendre un grand service car je voulais exporter mon Jtable dans un fichier excel pour plus d'ergonomie.
on peut utiliser l'extension .csv dans le cas ou il y a des séparateurs et si il y en a pas!! qu'est -ce qu'on doit faire??

Merci d'avance.
Messages postés
623
Date d'inscription
vendredi 26 juillet 2002
Statut
Membre
Dernière intervention
11 novembre 2012
968
Salut!

Je te conseille d'utiliser JExcel (http://jexcelapi.sourceforge.net/

Sinon, pour créer des documents Micro$oft (Word, Excel, PowerPoint,...) il existe aussi POI (http://poi.apache.org/

;-)