tyger2014
Messages postés6Date d'inscriptiondimanche 24 août 2014StatutMembreDernière intervention28 septembre 2014
-
28 sept. 2014 à 18:32
KX
Messages postés16733Date d'inscriptionsamedi 31 mai 2008StatutModérateurDernière intervention31 janvier 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();
}
KX
Messages postés16733Date d'inscriptionsamedi 31 mai 2008StatutModérateurDernière intervention31 janvier 2024127 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);
}
}