簡體   English   中英

以編程方式從網頁保存excel文件

[英]Programatically saving a excel file from the web page

我有一個顯示一些報告的網頁。 當我點擊excel的鏈接時,它會將屏幕上顯示的所有數據放入CSV文件,並打開一個文件下載窗口,可以打開,保存或取消。

我想以編程方式將此文件下載到指定位置,而無需用戶看到“文件下載”窗口。 我正在使用Windows應用程序。 我沒有顯示此報告的網站的代碼,因此沒有數據集。 此外,我查看了通過在頁面上執行視圖源生成的HTML,但我無法通過它來獲取數據。

因此,我需要知道如何將excel文件從給定的網站下載到我的計算機上的某個位置。

提前致謝

麗塔

那么你需要找到合適的鏈接或發布動作。 然后你可以使用類似的東西:

string url = "http://whatever/.../foo.xsl";
string target = @"c:/excel documents/foo.xsl";
WebClient client = new WebClient();
client.DownloadFile(url, target);

如果您需要進行身份驗證等,它會變得有點復雜。

我假設你在WebBrowser控件中顯示網頁。 您可以處理WebBrowser.Navigating事件並檢查WebBrowserNavigatingEventArgs URL屬性的值,以查看string.EndsWith(“。csv”,CurrentCultureIgnorecase)(或者更具體的測試)。

如果檢測到已單擊的鏈接是針對要下載的文件,則可以在WebBrowserEventArgs實例上調用e.Cancel()= True,以阻止瀏覽器繼續執行打開“文件下載”對話框的正常行為。 然后,您可以使用.NET的HttpWebRequestHttpWebResponse類來手動下載文件。

以下是使用這些類下載的示例

實際上我正在進行屏幕抓取,所以我沒有顯示網頁。

我所做的是轉到屏幕上顯示報告的URL。 “Excel”有一個超鏈接。 我從我的程序本身點擊這個超鏈接。 單擊此鏈接,將打開“文件下載”對話框。

我寫過,WebBrowser.Navigating和Navigated事件,但控件沒有來到這里。 有任何想法嗎

還有一件事,我訪問的網站是java網站。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM