Bonjour a tous,

Etant débutant en java, un soucis de taille se pose a moi.
J'ai créé une JTable qui se remplit avec les données d'une BDD SQL, a coté de cette JTable, j'ai un bouton pour exporter vers excel, ceci marche très bien, a ceci près que le fichier .xls fraichement créé se trouve dans le dossier du projet (j'utilise netbeans 7.0 sous windows) et je ne sais pas comment faire pour changer le chemin de sortie !

Voila le code de mon bouton :

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
 
JButton export = new JButton("Exporter vers excel");
 
        export.addActionListener(new ActionListener() 
        {
            @Override
            public void actionPerformed(ActionEvent evt) 
            {
                try 
                {                
                    ExcelExporter exp = new ExcelExporter(); 
                    exp.exportTable(jt, new File("fiche-produit.xls"));
                } 
                catch (IOException ex) 
                {
                    System.out.println(ex.getMessage());
                    System.out.println(ex);
                }
            }
	});
et Voici le code de ma classe ExcelExporter :
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
 
package gestionintendance;
 
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import javax.swing.*;
import javax.swing.table.*;
 
/**
 *
 * @author ggeffray
 */
public class ExcelExporter 
{
    public ExcelExporter() { }
 
    public void exportTable(JTable table, File file) throws IOException 
    {
	TableModel model = table.getModel();
	FileWriter out = new FileWriter(file);
	for(int i=0; i < model.getColumnCount(); i++) 
        {
             out.write(model.getColumnName(i) + "\t");
	}
	out.write("\n");
 
	for(int i=0; i< model.getRowCount(); i++) 
        {
             for(int j=0; j < model.getColumnCount(); j++) 
             {
                  out.write(model.getValueAt(i,j).toString()+"\t");
             }
             out.write("\n");
        }
        out.close();
	System.out.println("write out to: " + file);
    }
}