133 votes

Comment empêcher Excel de manger mes délicieux fichiers CSV et d'excréter des données inutiles ?

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.

0voto

user1937697 Points 1

J'avais des numéros de compte longs qui étaient brouillés.

C'est comme ça que je l'ai réparé :

Ouvrez votre fichier .csv dans Libre Office/Open Office (vous devrez peut-être spécifier des délimiteurs, etc.) puis enregistrez le fichier en tant que fichier Excel XML.

Ouvrez ensuite ce fichier dans Excel et vous verrez que les colonnes ne sont plus modifiées au format scientifique ou autre. Pour être sûr, cliquez avec le bouton droit de la souris sur la colonne et définissez explicitement le format comme Texte, puis enregistrez le fichier au format Excel.

Ouvrez le fichier au format Excel et la colonne devrait toujours être correcte !

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X