Problème encodage : exportation jTable vers excel

kouta19 Messages postés 20 Date d'inscription jeudi 21 juillet 2011 Statut Membre Dernière intervention 18 août 2014 - 18 août 2014 à 15:06
leplutonien Messages postés 21 Date d'inscription mardi 31 juillet 2012 Statut Membre Dernière intervention 29 juin 2015 - 21 août 2014 à 19:06
Bonjour ,
j'ai suivi ce tutoriel https://sites.google.com/site/teachmemrxymon/java/export-records-from-jtable-to-ms-excel afin de pouvoir exporter mon jTable vers un fichier excel et ça marche très bien sauf que les accents ne sont pas reconnus j'ai cherché alors une solution est j'ai trouvé que je je dois ajouter un code au début du fichier afin d'avoir utf8 avec BOM (je n'est pas bien compris ça ) alors j'ai ajouté excel.write("\uFEFF"); dans la méthode toExcel et ça marche mais cette fois le fichier n'est pas délimité (toutes les enregistrement d'une ligne sont attacher et non séparées par cellule ) j'ai supposer que \t (délimiteur de excel) ne fonctionne pas je j'ai remplacé par \u0009 mais ça marche pas
si vous avez des proposition n'hésitez pas et en même temps j'espère que les infos si dessus seront utiles pour des personnes qui souhaitent exporter leurs jTable .

1 réponse

leplutonien Messages postés 21 Date d'inscription mardi 31 juillet 2012 Statut Membre Dernière intervention 29 juin 2015
21 août 2014 à 19:06
Salut kouta19,
j'ai lu le tutoriel que tu as suivi et je peux te dire que c'est pas la meilleur manière de faire un export dans excel. Cette méthode ne prend pas en compte la structure même d'un fichier excel. La méthode toExcel envoie juste les données dans un fichier et donne à ce dernier une extension .xls. On pourrait donner à ce fichier un .txt , .dat etc.
Je te propose de faire une petite expérience :
- le fichier que cette fonction ta générée, ouvre le avec un éditeur de texte comme Notepad++
- crée un fichier Excel avec Microsoft Excel, ouvre le avec le même éditeur
- tire toi une conclusion.
Pour générer un fichier excel, je te conseille d'utiliser jasper-report..

ps : pour corriger ton problème d'encodage fais :
System.setProperty( "file.encoding", "UTF-8" );
0
Rejoignez-nous