2009-10-21 60 views
0

我有一個URL,當我在瀏覽器中加載它時,它將它識別爲一個csv文件並彈出excel「你想打開」。我想以編程方式執行此操作,以便我可以使用該URL並直接解析csv文件。閱讀一個url並獲取一個csv文件

這樣做的最快方法是什麼?


編輯:我使用Web客戶端和我得到如下因素錯誤的嘗試:

「:(500)內部服務器錯誤遠程服務器返回一個錯誤。」

+0

如果您試圖從您的應用程序中通過Web瀏覽器_automatically_打開它,那麼您不能。當你下載一個鏈接時(這取決於瀏覽器設置,甚至能夠打開它),操作系統是由什麼程序啓動的。 –

+2

500內部服務器錯誤是由Web服務器生成的錯誤。檢查您的URL是否正確,並檢查是否可以使用該URL從瀏覽器下載該文件。 –

回答

5

我不明白爲什麼這樣的事情就不會(在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是您想要的實際文件走。

+0

+1。基本上,我的想法,但與代碼示例。好答案。 – David

+0

看起來真的很簡單! – markthewizard1234

1

如果您有WinForms應用程序,則可以使用System.Net.WebClient以字符串形式讀取數據。

它會將整個csv文件讀取爲一個字符串,但您可以將其寫出或隨意解析。

0

如果你只想鞭打一些東西,我會建議使用腳本語言和一些bash。只需使用wget或類似的東西來獲取文件和一些腳本語言來解析它。你甚至可以使用PHP解析它,一旦你有文件,因爲我知道PHP有以下功能,這是非常好的:http://php.net/manual/en/function.fgetcsv.php

我會建議這樣做,因爲它更容易,這一定會讓你解析它很容易,儘管我不知道你想從那裏做什麼,但世界上你的牡蠣。

0

以下代碼適用於我,但我運行的是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); 
+0

啊,我誤解了這個問題。請忽略此答案。 –