2010-10-18 6 views
2

J'ai regardé FileHelpers v2.0 mais il y a un problème sérieux. Je ne peux pas définir une classe mappée à l'enregistrement dans le fichier source/detination.Quelle bibliothèque utiliser pour l'importation CSV dans C#

La raison en est que je ne sais pas quel fichier je vais obtenir. Une grande partie de mon programme consiste à mapper les champs du fichier aux champs de la base de données ... Je ne sais pas combien de champs il y aura, ni qui devront être importés.

Je n'ai pas l'intention de lancer ma propre bibliothèque, d'autant plus que je n'ai aucun contrôle sur les fichiers qui vont être ajoutés à mon programme.

Des solutions à son?

Dennis

+2

Vous ne pouvez pas créer un système pour faire ** tout **; vous devez avoir * quelques * spécifications. – Brad

Répondre

3

Vérifiez la Fast CSV reader on the CodeProject. Cela m'a aidé avec mon projet il y a un moment. C'est vraiment facile à utiliser, et c'est plutôt bon.

+0

Ouais! C'est ce dont j'ai besoin. Pas compliqué comme FileHelper pourtant correct même pour csv même mal fait. Merci de l'avoir signalé Gabriel! –

3

Vous pouvez utiliser ADO.NET pour lire directement le fichier .CSV dans un DataTable. Si vous ne savez pas combien de champs existeront à l'avance, cela peut être un moyen utile de travailler avec les données. Cela a également l'avantage de ne nécessiter aucune bibliothèque externe. Pour plus de détails, veuillez consulter Deborah Kurata's article on the subject.

0

StreamReader a été assez rapide pour moi pour à peu près tous les fichiers texte, mais vous êtes assez foutu si vous ne pouvez même pas garantir la valeur de la commande.

+0

c'est pourquoi mon programme a besoin d'une fonction pour définir le mapping. –

+0

OK ... peut-être que votre signification me manque. Vous cherchez une solution programmatique pour importer des données CSV dans une base de données, ou un outil qui vous permettra de définir des valeurs source (CSV) et de destination (DB) par fichier et d'importer les données? – StingyJack

Questions connexes