Вопрос

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

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

<Ч>

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

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

Это было полезно?

Решение

Не понимаю, почему что-то подобное не сработало (в 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 - это то место, куда вы хотите поместить фактический файл.

Другие советы

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

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

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

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

У меня работает следующий код, но я использую 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);
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top