J’essaie d’écrire des données dans un fichier CSV avec Java, cependant quand j’essaie d’ouvrir le fichier produit avec Excel, j’obtiens une erreur disant que le fichier est corrompu. En ouvrant le fichier dans le bloc-notes, il semble être correctement formaté, donc je ne suis pas sûr de ce qui pose problème. J’utilise la classe FileWriter pour envoyer les données vers le fichier.
Ai-je besoin d’utiliser une bibliothèque en Java pour écrire dans un fichier CSV ? Je supposais qu’on pouvait simplement le faire nativement en Java tant qu’on utilisait le bon formatage.
C’est parce que MS Excel ne peut pas décider comment ouvrir le fichier avec un tel contenu.
Pour résoudre le problème, remplacez "ID" par "id".
Lorsque vous avez ID comme premier mot dans un fichier de type tableur, cela correspond à la spécification d’un fichier SYLK et MS Excel (et potentiellement d’autres applications de tableur) tente de l’ouvrir comme un fichier SYLK. Cependant, il ne répond pas à la spécification complète d’un fichier SYLK puisque le reste des valeurs dans le fichier sont séparées par des virgules. D’où l’erreur affichée.
id
Name
1
Jon Doe
2
Jane Doe
En bonus, pour essayer de minimiser les accès au fichier en utilisant moins l’objet fichier.
J’ai testé et le code ci-dessous devrait fonctionner.