Excel CSV importe le traitement des chaînes de nombres citées en tant que valeurs numériques, pas les chaînes

J'ai une application Web qui exporte ses données vers un fichier CSV. Voici un exemple de ligne du fichier CSV en question:

28,"65154",02/21/2013 00:00,"false","0316295","8316012,8315844","MALE" 

Comme je ne peux pas publier une image, je vais devoir expliquer les résultats dans Excel. Le champ "0316295" est transformé en un nombre et le premier 0 disparaît. Le "8316012,8315844" est interprété comme un seul numéro: 83,160,128,315,844. C'est évidemment le résultat escompté.

J'ai vu des gens recommander un seul devis unique pour de tels cas, mais cela ne fonctionne pas non plus.

 28,"65154",02/21/2013 00:00,"false","'0316295","'8316012,8315844","MALE" 

La citation unique est visible en tout temps dans la cellule d'Excel, mais si je saisis un numéro avec une seule citation unique, il montre juste la chaîne voulue et non la citation unique avec la chaîne.

L'importation n'est pas la même que la saisie, semble-t-il.

Quelqu'un at-il une solution ici?

Cela devrait fonctionner

 28,"65154",02/21/2013 00:00,"false",="0316295","=""8316012,8315844""","MALE" 

Pour garder le (s) zéro (s) principal (s), vous pouvez définir le format de cette colonne spécifique dans Texte dans l'assistant d'importation de texte.

  1. Démarrez l' assistant d'importation de texte en allant dans l'onglet Données et en cliquant sur Texte .
  2. Sélectionnez le fichier CSV que vous souhaitez importer.
  3. Choisissez Delimited & hit Next .
  4. Décocher l' onglet (par défaut). Choisissez Comma . Assurez-vous que Text Qualifier est réglé sur " . Appuyez sur Suivant .
  5. C'est là que vous pouvez spécifier les formats . Cliquez sur l'en-tête de la colonne dont vous souhaitez préserver le (s) zéro (s) principal. Sélectionnez le texte . (Voir l'image ci-dessous)

    Entrez la description de l'image ici

  6. Cliquez sur Terminé, puis sélectionnez un emplacement approprié pour vos données. Résultat de l'exemple:

    Entrez la description de l'image ici

Modifier : Il y a une autre façon ; Demander à l'application Web d'exporter un fichier .TXT délimité par des virgules au lieu de .CSV (ou simplement modifier l'extension de fichier du fichier exporté après l'avoir enregistré). Cela oblige Excel à passer par l'assistant d'importation lorsqu'ils ouvrent le fichier. Comme un avantage supplémentaire, il réduit les chances que les utilisateurs modifient ou modifient vos données brutes d'origine.

Excel traite les valeurs numériques en commençant par un caractère de tabulation en tant que texte.

 <tabchar>000000100000200000,ABC,DEF 

Apparaîtra comme suit:

 000000100000200000|ABC|DEF 

| Est la limite de la cellule (à titre d'illustration). Donc, par exemple, si votre système génère le fichier CSV en utilisant utf-8 charset, vous pouvez ajouter le &#x0009; (Tab Char dans Hex) avant votre valeur numérique pour forcer Excel à l'interpréter comme texte.

Vous devriez utiliser la fonctionnalité "Données -> Obtenir des données externes -> Importer du texte à partir du fichier" dans Excel pour l'afficher en tant que texte. Il s'agit de l'assistant d'importation de texte mentionné par @Kaze.

La seule façon de forcer l'excellence à afficher les nombres en tant que texte de l'entrée, sans que l'utilisateur ait à faire quoi que ce soit, est en sortant un fichier excel et en spécifiant un «format de numéro personnalisé». Je recommande d'utiliser une bibliothèque d'exportation XLS pour cela, car il ne semble pas aussi simple que d'ajouter une ligne de texte config dans un fichier CSV.

Essayez la fonction propre pour les valeurs qui sont dérangées. Par exemple = nettoyer ("12345678901234567890"). Cela fonctionne pour moi pour les chiffres, les dates, les horaires, etc. Je tiens à préciser que ce n'est pas du tout le but de cette fonction que cela pourrait cesser de travailler avec de nouvelles versions, etc.

Excel détecte automatiquement le format d'un champ CSV à moins que la colonne CSV ne soit dans ce format:

 "=""Data Here""" 

Cela fonctionne également pour les feuilles de Google