comment lire un fichier csv à partir d'une URL?
Im essayant de créer un service web qui est une URL par exemple www.domain.co.uk/prices.csv
puis lit le fichier csv. Est-ce possible et comment? Idéalement sans avoir à télécharger le fichier csv?
source d'informationauteur Beginner
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser:
Et ensuite de le découper:
Si il y a beaucoup de CSV analyseurs de là-bas et je ne vous le conseille roulement de votre propre. FileHelpers est un bon.
Vous ont pour télécharger le fichier pour le lire. Ce n'est pas comme votre code pourrait en quelque sorte divine le contenu à distance, sans les chercher.
Mais vous n'avez pas besoin de l'enregistrer dans un fichier si vous voulez dire que. Vous pouvez utiliser le
WebClient
classe comme une commodité pour aller chercher des ressources sur HTTP. En particulier, vous voudrez peut-être chercher à laDownloadString
méthode.Où l'url de votre site avec le fichier csv et le csvPath est l'endroit où vous souhaitez que le fichier réel pour aller.
Dans votre Service Web, vous pouvez utiliser la classe WebClient pour télécharger le fichier, quelque chose comme ça ( je n'ai pas mis toute la gestion des exceptions, de ne pas tout utiliser ou de Fermer/Débarrasser des appels, je voulais juste donner l'idée que vous pouvez utiliser et à améliorer/améliorer... )
puis vous pouvez faire ce que vous voulez avec elle une fois le contenu du fichier est disponible dans le flux d'exécution de votre service.
si vous avez à retourner au client en tant que valeur de retour de l'appel de service web, vous pouvez soit retourner une
DataSet
ou de toute autre structure de données que vous préférez.Sébastien Lorion CSV Reader a un constructeur qui prend un Ruisseau.
Si vous avez décidé de l'utilisation, votre exemple devient:
La toujours populaire FileHelpers vous permet également de lire directement à partir d'un flux.
La documentation pour WebRequest a un exemple qui utilise les flux. À l'aide d'un flux vous permet de parser le document sans le stocker tous en mémoire