2012-06-01 36 views

回答

0

這裏是我做我的文檔的方式:

using (WebClient wc = new WebClient()) { 
    string priceList=wc.DownloadString("https://docs.google.com/spreadsheet/pub?hl=en_US&hl=en_US&key=0Aic3jYFcLTrldEhQU1dDTzdTdFBhaVA4OGtPX2FUMUE&single=true&gid=0&output=txt"); 
    string[] lines = priceList.Split('\n'); 
} 

這將讓文本格式的電子表格到變量priceList

+0

如果行尾是'\ n \ r',該怎麼辦?在每一行的開頭都會有一個流浪的'\ r'。如果該文件是在Unix上創建的('\ r')? –

+0

然後,您將過濾該字符或使用不同的.Split覆蓋。爲此創建一個新問題,因爲它與此處沒有直接關係。 –

+1

添加了我的答案。另外,你忘了.Dispose()或使用塊 –

0

你會做什麼是

// http://msdn.microsoft.com/en-us/library/system.net.webclient.aspx 
WebClient wc = new WebClient(); 

// http://msdn.microsoft.com/en-us/library/ms144200.aspx 
string priceList=wc.DownloadString(
    new Uri(
     "https://docs.google.com/spreadsheet/pub?hl=en_US&hl=en_US&key=0Aic3jYFcLTrldEhQU1dDTzdTdFBhaVA4OGtPX2FUMUE&single=true&gid=0&output=txt"); 

// http://msdn.microsoft.com/en-us/library/3cc9y48w.aspx 
wc.Dispose(); // Free resources 

// http://msdn.microsoft.com/en-us/library/tabh47cf.aspx 
string[] lines = priceList.Split(
    new string[] { 
     "\r\n", 
     "\n\r", // Rarely ever used, but be prepared 
     "\n" // Match this and 
     "\r" }, // this last 
StringSplitOptions.None); 
+0

老實說,我相信這是過度殺傷。從技術上講,調用相同的Web服務會在它生成的每個文檔上返回相同的新行字符。 –

+0

感謝您的迴應! Google API允許我們在沒有登錄的情況下訪問公共文檔嗎? – user1429645

0

如果您有共享公共訪問的文檔,你可以分享它的下載網址下載它無需登錄到谷歌。要通過google api構建下載URL 您需要具有該特定文檔的資源ID。

欲瞭解更多信息,看看這個:Google Docs : Download Documents and files

+0

我一直在試圖做到這一點。遵循Google的文檔不會產生您可以使用的公開網址。 Google的示例在.NET中創建了一個流,但它們不提供可單獨使用的URL。這裏需要更多細節。謝謝。 – rufo

相關問題