Exporter une jtable dans un fichier excel

tyger2014 Messages postés 6 Date d'inscription dimanche 24 août 2014 Statut Membre Dernière intervention 28 septembre 2014 - 28 sept. 2014 à 18:32
KX Messages postés 16741 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 30 mai 2024 - 28 sept. 2014 à 19:22
Bonjour à vous,

je une petite application que je développé en java et j'aimerais exporter ma jtable en un fichier excel. Je je codé mais le soucis ce que quand je clique sur le bouton exporter ma jfilechooser s'ouvre j'enregistre mais le fichier enregistrer na pas d'extension.

svp quelqu'un peut m'aider

voici mon code:
JFileChooser chooser =new JFileChooser();
int state = chooser.showSaveDialog(null);
File file = chooser.getSelectedFile();
String A="Attention";
if(file != null && state == JFileChooser.APPROVE_OPTION)
//chemin = chooser.getSelectedFile().getAbsolutePath();
{
try
{
// Création du fichier

BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(file,true));
PrintWriter fileWriter = new PrintWriter(bufferedWriter);
for(int i=0; i<dt.getRowCount(); i++)
{
for (int j =0; j<dt.getColumnCount(); j++)
{
String s = dt.getValueAt(i, j).toString();
fileWriter.println(s);
}
fileWriter.println("");
}
fileWriter.close();
JOptionPane.showMessageDialog(null, "Le fichier a été enregistré dans l'emplacement spécifié",A, JOptionPane.INFORMATION_MESSAGE);
}
catch(Exception e)
{
e.printStackTrace();
}

1 réponse

KX Messages postés 16741 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 30 mai 2024 127
28 sept. 2014 à 19:22
Bonjour,

C'est une erreur fréquente, le nom de fichier que tu saisis doit contenir l'extension, ou alors il faut programmatiquement lui en donner une par défaut, et encore mieux, au cas où l'extension ne soit pas celle que tu veux, la remplacer !

private static File changeExtension(File file, String newExtension) {
    String name = file.getName();
    int pos = name.lastIndexOf(".");
    if (pos!=-1)
        name = name.substring(0,pos);
    return new File(file.getParentFile(), name+newExtension);
}

public static void main(String[] args)
{
    JFileChooser chooser = new JFileChooser();
    chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
    chooser.setFileFilter(new FileNameExtensionFilter("Classeur Excel", "xlsx", "xls", "csv"));
    int state = chooser.showSaveDialog(null);
    if (state == JFileChooser.APPROVE_OPTION)
    {
        File file = chooser.getSelectedFile();
        file = changeExtension(file, ".xlsx");
        System.out.println(file);
    }
}
0
Rejoignez-nous