чтение URL и возврат файла CSV - PullRequest
0 голосов
/ 22 октября 2009

У меня есть URL, и когда я загружаю его в браузер, он распознает его как CSV-файл и выскакивает Excel "Хотите открыть" Я хочу сделать это программно, чтобы я мог использовать приложение winforms, которое URL-адрес и синтаксический анализ файла CSV напрямую.

Какой самый быстрый способ сделать это?


РЕДАКТИРОВАТЬ: я попытался с помощью WebClient, и я получаю следующую ошибку:

"Удаленный сервер возвратил ошибку: (500) Внутренняя ошибка сервера."

Ответы [ 4 ]

6 голосов
/ 22 октября 2009

Не понимаю, почему что-то подобное не работает (в 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);

Где url - это ваш сайт с файлом csv, а csvPath - это то место, куда вы хотите поместить фактический файл.

1 голос
/ 22 октября 2009

Если у вас есть приложение WinForms, вы можете использовать System.Net.WebClient для чтения данных в виде строки.

Он будет читать весь CSV-файл как строку, но вы можете записать или проанализировать его по своему желанию.

0 голосов
/ 22 октября 2009

Следующий код работает для меня, но я использую Open Office. Я не проверял это с Excel. Хакерский бит заключается в том, чтобы переименовать локальную копию файла в * .xls, чтобы Windows по умолчанию запускала Excel. Если оставить расширение файла как CSV, Windows по умолчанию запустит Блокнот.

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);
0 голосов
/ 22 октября 2009

Если вы хотите просто сделать что-то вместе, я бы предложил использовать язык сценариев и немного bash. Просто используйте wget или что-то подобное, чтобы получить файл, и немного языка сценариев для его анализа. Вы даже можете использовать php для его анализа, когда у вас есть файл, потому что я знаю, что php имеет следующую функцию, которая очень хороша: http://php.net/manual/en/function.fgetcsv.php

Я бы посоветовал сделать это таким образом, потому что это проще, это, конечно, позволит вам разобрать его достаточно легко, хотя я не знаю, что вы хотите оттуда сделать, но в мире ваша устрица.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...