2010-10-06 8 views
2

J'ai écrit un script pour exporter des données de produit d'une base de données cscart vers un fichier CSV. Il fonctionne parfaitement, cependant, lorsqu'il est ouvert dans MS Excel, il analyse des choses telles que "12-14" comme des dates, ce qui montre "Décembre 14".Arrêt de l'analyse de date Excel

J'ai lu http://excel.tips.net/Pages/T003228_Stopping_Date_Parsing_when_Opening_a_CSV_File.html mais le client ne sera pas disposé à le faire - existe-t-il un autre moyen dans le fichier CSV lui-même pour forcer Excel à le reconnaître comme une chaîne.

J'ai essayé d'envelopper tous les champs entre guillemets, j'ai essayé de mettre des espaces autour du trait d'union - pas de chance. Des idées?

Répondre

3

Avez-vous envisagé d'exporter les données au format XML Excel 2003? Sauf si vous utilisez un éditeur CSV intégré, la création du format XML ne devrait pas être trop difficile. Et le plus important de tous: vous pouvez spécifier exactement le type de données.

Un bon exemple peut être trouvé dans Wikipedia.

(Ne pas confondre ce format avec le dernier XML/ZIP format Excel avec l'extension .xlsx.)

+0

Je n'ai pas pensé à ça, je vais essayer. Merci! – HughieW

0

J'ai essayé cela en mettant un guillemet simple et cela a fonctionné. Les données de l'échantillon utilisé était que je

ID, nom, String, Date

1, ABCD, «12-1" , abc

21, Zys," '12-1" , abc

13, PQRST, «12-21" , abc

Cependant, dans la chaîne est affiche maintenant lorsqu'il est ouvert dans XLS comme -1 '12, pas quelque chose de très agréable, mais une solution facile.

+0

Oh cool. Cela pourrait être une solution utilisable - le client a seulement besoin d'exporter, ils n'ont pas besoin d'importer à nouveau tant qu'ils peuvent le lire, ce qui devrait fonctionner. Merci! – HughieW