Question

J'ai une URL et lorsque je la charge dans un navigateur, elle la reconnaît en tant que fichier csv et affiche excellent "voulez-vous ouvrir". Je veux le faire par programme afin que je puisse avoir une application Winforms utiliser cette URL et analyser le fichier CSV directement.

quel est le moyen le plus rapide de le faire?

EDIT: j'ai essayé d'utiliser WebClient et j'obtiens l'erreur suivante:

"Le serveur distant a renvoyé une erreur: (500) erreur interne du serveur."

.
Était-ce utile?

La solution

Je ne vois pas pourquoi quelque chose comme ça ne fonctionnerait pas (en C #):

// Download the file to a specified path. Using the WebClient class we can download 
// files directly from a provided url, like in this case.

System.Net.WebClient client = new WebClient();
client.DownloadFile(url, csvPath);

Où l'URL est votre site avec le fichier csv et le chemin csv est l'endroit où vous voulez que le fichier actuel aille.

Autres conseils

Si vous avez une application WinForms, vous pouvez utiliser un . System.Net.WebClient pour lire les données sous forme de chaîne.

Il lira l’ensemble du fichier csv en tant que chaîne, mais vous pourrez l’écrire ou l’analyser à volonté.

Si vous souhaitez simplement combiner quelque chose, je vous suggère d’utiliser un langage de script et quelques mots bash. Utilisez simplement wget ou quelque chose de similaire pour obtenir le fichier et un langage de script pour l’analyser. Vous pouvez même utiliser php pour l'analyser une fois que vous avez le fichier car je sais que php a la fonction suivante, ce qui est très agréable: http://php.net/manual/en/function.fgetcsv.php

Je suggérerais de le faire de cette façon car c'est plus facile, cela vous permettra certainement de l'analyser assez facilement, même si je ne sais pas ce que vous voulez en faire à partir de là, mais le monde de votre huître.

Le code suivant fonctionne pour moi, mais j'utilise Open Office. Je ne l'ai pas testé avec Excel. Le bit hacky consiste à renommer la copie locale du fichier en * .xls afin que Windows lance Excel par défaut, si vous laissez l’extension de fichier au format CSV, Windows lance le Bloc-notes par défaut.

String url = "http://www.example.com/test.csv";
String localfile = "test.xls";

var client = new WebClient();
client.DownloadFile(url, localfile);

System.Diagnostics.Process.Start(localfile);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top