Enregistrer des données dans une fichier excel

Fermé
rima - 1 juil. 2014 à 10:24
 rima - 6 juil. 2014 à 18:16
Bonjour,
j'ai une table SWT qui est editable.Je voudrai enregistrer les données editées dans les cellules de la table par l'utilisateur dans un fichier excel.
j'ai besoin d'une idée pour faire ça.

merci d'avance.


A voir également:

2 réponses

ProvencaleLeGaulois Messages postés 48 Date d'inscription lundi 2 juin 2014 Statut Membre Dernière intervention 18 septembre 2014 6
Modifié par ProvencaleLeGaulois le 1/07/2014 à 13:38
Bonjour,

Le plus simple est de créer un fichier csv.
Tu crées un String au format csv :
[val11];[val12];[va13]
...

Et tu enregistres dans un fichier texte (nommé monFichier.csv).
Pour enregistrer un fichier texte (à partir d'une JTable dans mon exemple) :


public void makeCSV(String chemin, JTable table){
    File sortie = new File(chemin);
    BufferedWriter bw = new BufferedWriter(new FileWriter(sortie));
    String result="";
    int ligne,colonne;
    for(ligne=0;ligne<table.getRowCount();ligne++){
        for(colonne=0;colonne<table.getColumnCount()-1;colonne++){
            result=result+data[ligne][colonne]+";";
        }
        result=result+"\n";
    }    
    bw.write(result);
    bw.close();
}



Par contre si tu tiens à enregistrer au format xls ou xlsx il te faudra utiliser une API comme POI :
http://poi.apache.org/

A+
0
Bonjour ,en fait je voudrai enregistrer la table avec les nouvelle données dans en format xlsx et j'ai essayé avec ce code mais le fichier ne peut être ouvert quand j'ai fais le run de code.

public void exporter(LinkedList<LinkedList<String>> table_modify, File file)
{
try
{
table_modify=MapModifyDataIntoTableSWT(table, file);
TableColumn[] columns = table.getColumns();

TableItem[] item = table.getItems();
FileWriter out = new FileWriter(file);

for (TableColumn column : columns) {
out.write(column.getText() + "\t");
}
out.write("\n");

for(int i=1; i< table.getItems().length; i++) {
for(int j=0; j < table.getColumnCount(); j++) {
out.write(table_modify.get(i).get(j).toString()+"\t");
}
out.write("\n");
}

out.close();

} catch(Exception err)
{
err.printStackTrace();
}
}
0