我有一個URL,當我在瀏覽器中加載它時,它將它識別爲一個csv文件並彈出excel「你想打開」。我想以編程方式執行此操作,以便我可以使用該URL並直接解析csv文件。閱讀一個url並獲取一個csv文件
這樣做的最快方法是什麼?
編輯:我使用Web客戶端和我得到如下因素錯誤的嘗試:
「:(500)內部服務器錯誤遠程服務器返回一個錯誤。」
我有一個URL,當我在瀏覽器中加載它時,它將它識別爲一個csv文件並彈出excel「你想打開」。我想以編程方式執行此操作,以便我可以使用該URL並直接解析csv文件。閱讀一個url並獲取一個csv文件
這樣做的最快方法是什麼?
編輯:我使用Web客戶端和我得到如下因素錯誤的嘗試:
「:(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是您想要的實際文件走。
+1。基本上,我的想法,但與代碼示例。好答案。 – David
看起來真的很簡單! – markthewizard1234
如果您有WinForms應用程序,則可以使用System.Net.WebClient以字符串形式讀取數據。
它會將整個csv文件讀取爲一個字符串,但您可以將其寫出或隨意解析。
如果你只想鞭打一些東西,我會建議使用腳本語言和一些bash。只需使用wget或類似的東西來獲取文件和一些腳本語言來解析它。你甚至可以使用PHP解析它,一旦你有文件,因爲我知道PHP有以下功能,這是非常好的:http://php.net/manual/en/function.fgetcsv.php
我會建議這樣做,因爲它更容易,這一定會讓你解析它很容易,儘管我不知道你想從那裏做什麼,但世界上你的牡蠣。
以下代碼適用於我,但我運行的是Open Office。我沒有用Excel測試過。 hacky位是將文件的本地副本重命名爲* .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);
啊,我誤解了這個問題。請忽略此答案。 –
如果您試圖從您的應用程序中通過Web瀏覽器_automatically_打開它,那麼您不能。當你下載一個鏈接時(這取決於瀏覽器設置,甚至能夠打開它),操作系統是由什麼程序啓動的。 –
500內部服務器錯誤是由Web服務器生成的錯誤。檢查您的URL是否正確,並檢查是否可以使用該URL從瀏覽器下載該文件。 –