Création fichier .CSV

[Résolu/Fermé]
Signaler
-
Messages postés
16372
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
23 juillet 2021
-
Bien les bonsoir,

je m'excuse de vous importuner encore une fois mais j'ai une galère bien énervante...

je m'explique je travaille sur un programme Java, qui à un moment donné doit créer un fichier .CSV, ça je le fait sans problème, seulement quand j'ouvre ce fichier avec excel, il me dit qu'il s'agit d'un fichier .slk !! je comprend pas du tout pourquoi..

HELP ! :(

6 réponses

oui ça je le sais car par exemple sous linux les fichier n'ont pas d'extension à proprement parler..

quand j'ouvre mon fichier csv, j'ai un message me disant : Excel detecle que le fichier est un fichier SYLK , mais ne peux pas le charger. le fichier contient des erreurs ou n'est pas au format SYLK
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
16372
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
23 juillet 2021
2 861
Ok, je viens de chercher sur internet et j'ai trouvé un truc intéressant.

Si les deux premiers caractères de ton fichier sont
ID
alors Excel essaiera de l'ouvrir en Sylk.
Si c'est bien ça le problème tu devrais le remplacer par
"ID"


Remarque : c'est un problème lié à Excel, un autre éditeur de fichiers CSV pourrait l'ouvrir correctement.
oh génial ça fonctionne ! ! !

peux tu s'il te plait m'envoyer le lien du site où tu as trouvé cette info? je dois avouer que cela attise ma curiosité..

en tout cas un grand merci pour m'avoir aidé dans cette galère !
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
16372
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
23 juillet 2021
2 861
Messages postés
16372
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
23 juillet 2021
2 861
Bonjour,

Ton fichier doit porter l'extension .csv pour être ouvert comme tel.

À quoi ressemble ton fichier ?

Un fichier CSV devrait ressembler à ceci (si tu l'ouvres avec le bloc-notes)

A1,B1,C1
A2,B2,C2
A3,B3,C3

En France on aura souvent
;
au lieu de
,
à cause des nombres à virgules.
La confiance n'exclut pas le contrôle
Et bien tu vas rire, mais mon fichier est vide.. justement quand 'je veux écrire dedans, j'utilise le ; comme séparateur mais cela ne fonctionne pas dans le mesure ou le fichier crée n'est pas un .CSV mais un .SLK voici le code qui crée le fichier :

File_Path = "C:\\Users\\"+UserName+"\\Documents\\NetworkStorage\\DbOutput.csv";

File Exp_File = new File(File_Path);

Exp_File.createNewFile();




le fichier se crée bien pourtant..
Messages postés
16372
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
23 juillet 2021
2 861
Evidemment qu'il est vide si tu ne mets rien dedans...

Tu devrais te servir du code que je t'ai donné hier, avec un FileWriter, pour ajouter du contenu à ton fichier.

https://forums.commentcamarche.net/forum/affich-33659620-export-bdd-sqlite-en-java#7
justement j'ai utilisé ton code, mais le problème étant c'est que le fichier crée ne fait que porter le nom de ".csv" sinon va savoir pourquoi c'est un ".slk" donc le fait de faire :

FileWriter.append("Chaine");
FileWriter.append(';');


ne fonctionne pas, cela me met juste dans la première cellule A1 "Chaine;" il ne prend pas en compte le séparateur..
Messages postés
16372
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
23 juillet 2021
2 861
Si tu as "Chaine;" alors c'est que le code fonctionne, le contenu du fichier est correct et correspond bien au contenu d'un fichier CSV.

Donc si Excel ou n'importe quel autre logiciel ouvre bien ce fichier en mode CSV alors il interprétera bien les
;
comme séparateur de colonnes.

Reste à savoir ton histoire de .slk, je n'ai jamais vu cela auparavant, mais cela ne remets pas en cause le code ou le format du fichier.
je suis bien d'accord, le code d'écriture n'est en aucun cas à remettre en cause, c'est la création du fichier qui à mon sens prose problème...pourquoi excel ouvre ce fichier comme un .slk?.. je me suis renseigné et d'après ce que j'ai pu lire il s'agit de l'abréviation de SYLK soit Symbolic Link..un type de fichier mis en place par Microsoft pour faire des échanges de données...

mais j'ai jamais demandé à créer un tel fichier moi..!!
Messages postés
16372
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
23 juillet 2021
2 861
L'extension du fichier c'est toi qui la définit dans ton code. Donc si tu as
File file = new File("myFile.csv");
alors ton fichier aura une extension .csv

Remarque : une extension de fichier est juste une indication pour Windows, cela ne sert d'ailleurs à rien sur d'autres systèmes d'exploitation.

Ce qui fait que les fichiers .csv sont associés au type de données Sylk, c'est la configuration de ton ordinateur. Voir éventuellement Changer le programme d'ouverture d'une extension par défaut pour modifier la configuration et associer les fichiers .csv au programme Excel.