Frage

Ich habe eine URL und, wenn ich es in einem Browser laden sie erkennt es als eine CSV-Datei und öffnet sich Excel „tun Sie öffnen möchten“. Ich möchte dies programmatisch tun, damit ich eine WinForms-Anwendung, den URL-verwenden kann und die CSV-Datei direkt analysieren.

Was ist der schnellste Weg, dies zu tun?


EDIT: Ich habe versucht, mit WebClient und ich erhalte die Folowing Fehler:

"Der Remote-Server hat einen Fehler zurückgegeben:. (500) Internal Server Error"

War es hilfreich?

Lösung

Ich sehe nicht, warum so etwas wie diese nicht (in C #) funktionieren würde:

// 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);

Wenn die URL Ihre Website mit der CSV-Datei ist und die csvPath ist, wo Sie die aktuelle Datei zu gehen.

Andere Tipps

Wenn Sie eine WinForms-Anwendung haben, können Sie eine System.Net.WebClient die Daten als String zu lesen.

Es wird die gesamte CSV-Datei als String lesen, aber man kann es schreiben, oder es nach Belieben analysieren.

Wenn Sie wollen einfach nur Peitsche etwas zusammen würde ich eine Skriptsprache und einige Bash vorschlagen, mit. Verwenden Sie einfach wget oder etwas ähnliches auf die Datei und eine Skriptsprache, um es zu analysieren. Man könnte sogar PHP verwenden, um es zu analysieren, sobald Sie die Datei hatte, weil ich weiß, dass PHP die folgende Funktion hat, die sehr schön ist: http://php.net/manual/en/function.fgetcsv.php

Ich würde vorschlagen, es auf diese Weise zu tun, weil es einfacher ist, wird dies sicherlich können Sie es leicht genug, um analysieren, obwohl ich weiß nicht, was Sie von dort mit ihm tun wollen, aber die Welten Ihrer Auster.

Der folgende Code funktioniert für mich, aber ich bin Open Office läuft. Ich habe es nicht mit Excel getestet. Das Hacky Bit ist die lokale Kopie der Datei * .xls umbenennen, damit Windows Excel standardmäßig starten, wenn Sie die Dateierweiterung als CSV verlassen, Windows Notepad standardmäßig starten.

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);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top