J'ai une base de données qui suit les ventes de gadgets par numéro de série. Les utilisateurs saisissent les données de l'acheteur et la quantité, et scannent chaque widget dans un programme client personnalisé. Ils finalisent ensuite la commande. Tout cela fonctionne parfaitement.
Certains clients veulent une feuille de calcul compatible avec Excel des widgets qu'ils ont achetés. Nous générons cela avec un script PHP qui interroge la base de données et sort le résultat sous forme de CSV avec le nom du magasin et les données associées. Cela fonctionne aussi parfaitement bien.
Lorsqu'il est ouvert dans un éditeur de texte tel que Notepad ou vi, le fichier ressemble à ceci :
"Account Number","Store Name","S1","S2","S3","Widget Type","Date"
"4173","SpeedyCorp","268435459705526269","","268435459705526269","848 Model Widget","2011-01-17"
Comme vous pouvez le voir, les numéros de série sont présents (dans ce cas deux fois, tous les numéros de série secondaires ne sont pas les mêmes) et sont de longues chaînes de chiffres. Lorsque ce fichier est ouvert dans Excel, le résultat devient :
Account Number Store Name S1 S2 S3 Widget Type Date
4173 SpeedyCorp 2.68435E+17 2.68435E+17 848 Model Widget 2011-01-17
Comme vous avez pu le constater, les numéros de série sont placés entre guillemets. Excel ne semble pas respecter les qualificatifs de texte dans les fichiers .csv. Lorsque nous importons ces fichiers dans Access, nous n'avons aucune difficulté. Lorsqu'on les ouvre en tant que texte, aucun problème. Mais Excel, sans faute, convertit ces fichiers en un déchet inutile. Essayer d'enseigner aux utilisateurs finaux l'art d'ouvrir un fichier CSV avec une application autre que celle par défaut devient, disons, fastidieux. Y a-t-il un espoir ? Y a-t-il un paramètre que je n'ai pas réussi à trouver ? Cela semble être le cas avec Excel 2003, 2007 et 2010.