Je cherche depuis un moment à trouver comment sortir un fichier CSV de manière à forcer Excel à interpréter les valeurs sous forme de chaîne et à ne pas essayer de les convertir en chiffres ou en dates.
par exemple:
"141", "10/11/2002", "350.00", "1311742251"
Excel tente de convertir "intelligemment" tous ceux-ci dans ses formats de date / nombre natifs. Y a-t-il un moyen de contourner cela?
EDIT: Clarifié l'intention de ma question, désolé pour la confusion.
la source
"=""123"""
sinon elle est mal formée. Les champs contenant un"
doivent être délimités et le"
s du champ échappé avec d'autres"
s.="123"
n'est pas un champ CSV valide car il contient le caractère de délimiteur de champ"
sans le délimiter correctement ni le champ. Le fait qu’Excel l’ait lu sous forme de formule relève de la compétence exclusive d’Excel et n’a rien à voir avec le fichier CSV.Comme beaucoup, je me suis battu avec les mêmes décisions que Microsoft et j'ai essayé diverses solutions suggérées.
Pour Excel 2007, ce qui suit va:
Pourtant:
Le fait de placer un onglet avant toutes les valeurs avant de mettre les guillemets doubles empêche la conversion en dates ET empêche la suppression des zéros au début ou à la fin, et la feuille ne montre même pas de mauvais avertisseurs dans le coin supérieur gauche de chaque cellule.
Par exemple:
Notez que le caractère de tabulation doit figurer entre les guillemets. Edit: il s’avère que les guillemets ne sont même pas nécessaires.
Un double clic sur le fichier csv peut ouvrir le fichier en tant que feuille de calcul dans Excel affichant toutes les valeurs traitées comme ci-dessus, comme les données de texte. Assurez-vous de configurer Excel pour utiliser le '.' comme le point décimal et non le ',' ou chaque ligne du fichier csv se terminera par un texte dans la première cellule de chaque ligne. Apparemment, Microsoft pense que CSV signifie "pas le point décimal", valeur séparée.
la source
L'utilisation de la fonctionnalité d'importation d'Excel vous permet de spécifier le format (automatique, texte ou date) de chaque colonne à interpréter et ne nécessite aucune modification des fichiers de données.
Vous pouvez le trouver sous
Data
→Get External Data
→From Text
dans Excel 2007/2010.Ou
Data
→Import External Data
→Import Data
dans Excel 2003.Voici une image de l'assistant d'importation de texte Excel 2003 en action sur les exemples de données donnés, montrant l'importation des deux dernières colonnes sous forme de texte:
la source
L'exemple de Simon n'a pas fonctionné pour moi et je suppose que c'est une différence de langue. En C #, voici à quoi ressemble ma chaîne de format de travail:
et voici à quoi ressemble le fichier de sortie:
Comme on peut le constater, le format du fichier de sortie n’est
="VALUE",
pas, à"=""VALUE""",
mon avis, une convention Visual Basic.J'utilise Excel 2010. Incidemment, Google Sheets n'ouvrira / convertira pas un fichier formaté de cette manière. Cela fonctionnera si vous supprimez le signe égal ainsi
"VALUE",
- Excel ouvrira toujours le fichier mais ignorera le fait que vous voulez que vos colonnes soient des chaînes.la source
Un moyen simple de forcer Excel à interpréter la date en tant que texte consiste à mettre un guillemet simple devant la date, au lieu d'utiliser des guillemets entiers, comme dans:
Si vous pouvez importer le fichier CSV au lieu de l'ouvrir, vous pouvez indiquer à Excel le format de chaque colonne. Regardez cette question que j'ai posée .
la source