Excel CSV - Nombre de format de cellule
J'produire un rapport en tant que fichier CSV.
Lorsque j'essaie d'ouvrir le fichier dans Excel, il fait une hypothèse sur le type de données basé sur le contenu de la cellule, et reformate en conséquence.
Par exemple, si le fichier CSV contient des
...,005,...
Excel montre que 5.
Est-il un moyen de passer outre et d'affichage 005?
Je préfère faire quelque chose pour le fichier lui-même, de sorte que l'utilisateur peut double-cliquez sur le fichier CSV pour l'ouvrir.
J'utilise Excel 2003.
- Voir cette question pour une macro solution à ce problème.
- Aujourd'hui, il ya beaucoup d'Excel-rédaction des bibliothèques. Il devrait être assez facile à créer .fichiers xlsx dans la langue de votre choix. Si vos utilisateurs sont toujours à l'aide d'Excel 2003 pour une raison quelconque (commun lorsque cette question a été à l'origine posée, mais espérons-le, pas très probable aujourd'hui), il y a aussi quelques .xls-produire des options. Pour les personnes de tomber sur cette question aujourd'hui, il est très probable que vous n'avez pas à rouler votre propre.
Vous devez vous connecter pour publier un commentaire.
Il n'y a pas un moyen facile de contrôler la mise en forme Excel applique lors de l'ouverture d'une .fichier csv. Cependant énumérés ci-dessous sont trois approches qui peuvent aider.
Ma préférence est la première option.
Option 1 – Modifier les données dans le fichier
Vous pourrait modifier les données dans la .csv fichier comme suit ...,=”005”,...
Il sera affiché dans Excel ...,005,...
Excel ont conservé les données sous forme de formule, mais la copie de la colonne et à l'aide de collage spécial valeurs débarrasser de la formule, mais de conserver la mise en forme
Option 2 – Formater les données
Si c'est simplement un format de question et toutes vos données dans la colonne a de un à trois chiffres de la longueur. Ensuite, ouvrez les données dans Excel, puis le format de la colonne contenant les données avec ce format personnalisé 000
Option 3 – Changer l'extension du fichier .dif (format d'échange de Données)
Changer l'extension du fichier et utiliser le fichier de l'assistant importation de contrôler les formats.
Les fichiers avec une .dif extension sont automatiquement ouvert par Excel lors d'un double clic sur.
Étape par étape:
Ne pas utiliser CSV, utilisez SYLK.
http://en.wikipedia.org/wiki/SYmbolic_LinK_(SYLK)
Il donne beaucoup plus de contrôle sur le formatage, et Excel ne vais pas essayer de deviner le type d'un champ en examinant le contenu. Il ressemble un peu compliqué, mais vous pouvez vous en sortir avec l'aide d'un très petit sous-ensemble.
Cela fonctionne pour Microsoft Office 2010, microsoft Excel Version 14
J'ai mal lu l'OP de préférence "de faire quelque chose pour le fichier lui-même." Je suis toujours garder cela pour ceux qui veulent une solution pour formater les importer directement
Vous pouvez simplement le format de votre gamme de Texte.
Aussi ici est un bel article sur les formats de nombre et comment vous pouvez les programmer.
En fait j'ai découvert que, au moins à partir avec Office 2003, vous pouvez enregistrer une feuille de calcul Excel dans un fichier XML.
Ainsi, je peux produire un fichier XML et quand je double-clique dessus, ça va être ouvert dans Excel.
Il offre le même niveau de contrôle que SYLK, mais la syntaxe XML est plus intuitive.
Ajouter un espace insécable dans la cellule pourrait aider.
Par exemple:
"firstvalue";"secondvalue";"005 ";"othervalue"
Il force Excel à le traiter comme un texte et l'espace n'est pas visible.
Sur Windows, vous pouvez ajouter un espace insécable par basculement alt+0160.
Voir ici pour plus d'infos: http://en.wikipedia.org/wiki/Non-breaking_space
Essayé sur Excel 2010.
J'espère que cela peut aider les gens qui ont encore la recherche d'une très bonne solution pour ce problème.
J'ai eu ce problème lors de l'exportation des données au format CSV à partir de code C#, et résolu ce problème en ajoutant le zéro des données avec le caractère de tabulation \t, de sorte que les données ont été interprétées comme du texte plutôt que de le numérique dans Excel (pourtant, contrairement à précéder les autres personnages, il ne serait pas vu).
Je n'ai comme l' ="001", mais ce ne serait pas permettre CSV exporté les données pour être ré-importé à nouveau pour mon application C# sans enlever toute cette mise en forme à partir de l'importation de fichier CSV (à la place je vais couper l'importation de données).
Je crois que lorsque vous importez le fichier, vous pouvez sélectionner le Type de Colonne. Rendre le Texte au lieu de le Nombre. Je n'ai pas de copie en face de moi au moment de vérifier si.
Charge csv en oleDB et de la force de tous les déduire les types de données de chaîne
j'ai posé la même question et puis answerd avec code.
essentiellement lorsque le fichier csv est chargé le pilote oledb fait des hypothèses, vous pouvez dire quelles sont les hypothèses à faire.
Mon code forces de tous les types de données de chaîne si ... il est très facile de modifier le schéma.
pour ma part j'ai utilisé une transformation xslt pour obtenir ti la façon dont je le voulais, mais je suis de l'analyse d'une grande variété de fichiers.
Je sais que c'est une vieille question, mais j'ai une solution qui n'est pas listée ici.
Lorsque vous produisez le csv ajouter un espace après la virgule, mais avant votre valeur, par exemple
, 005,
.Cette travaillé pour empêcher automatique de la date de mise en forme dans excel 2007, de toute façon .
L'Assistant Importation de Texte méthode ne fonctionne PAS lorsque le fichier CSV importé a des sauts de ligne dans une cellule. Cette méthode gère ce scénario(au moins avec délimité par tabulation des données):
Cela a été me rend fou toute la journée (car en effet vous ne pouvez pas contrôler la colonne d'Excel types avant d'ouvrir le fichier CSV), et cela a fonctionné pour moi, à l'aide de VB.NET et Excel Interop:
Lors de l'ouverture d'un fichier CSV, vous obtenez l'assistant importation de texte. Lors de la dernière étape de l'assistant, vous devriez être en mesure d'importer la colonne de texte, conservant ainsi le '00' préfixe. Après cela, vous pouvez ensuite le format de la cellule de quelque façon que vous voulez.
J'ai essayé avec Excel 2007 et il est apparu à travailler.
Bien, excel ne jamais s'affiche l'assistant pour les fichiers CSV. Si vous renommez-le .txt, vous verrez l'assistant lorsque vous faites un Fichier>Ouvrir dans Excel la prochaine fois.
Mettre une apostrophe avant le champ. Excel va le traiter comme du texte, même si elle ressemble à un numéro.
EDIT: Ce qui est faux. L'apostrophe astuce ne fonctionne que lors de la saisie de données directement dans Excel. Lorsque vous l'utilisez dans un fichier CSV, l'apostrophe apparaît dans le champ, que vous ne voulez pas.
http://support.microsoft.com/kb/214233
Juste ajouter " avant le numéro dans le CSV, doc.