以编程方式保存网页上的excel文件

我有一个网页,显示一些报告。 当我点击excel链接时,它将屏幕上显示的所有数据都放到一个CSV文件中,并打开一个文件下载窗口,让我打开,保存或取消。

我想以编程方式将这个文件下载到一个指定的位置,而不需要用户看到文件下载窗口。 我正在使用Windows应用程序。 我没有网站的代码显示这个报告,因此没有数据集。 另外,我查看了通过在页面上查看源代码而生成的HTML,但是我无法真正地通过它来获取数据。

因此,我需要知道如何从给定的网站下载Excel文件到我的电脑上的位置。

提前致谢

丽塔

那么你需要find适当的链接或发布行动。 然后你可以使用像这样的东西:

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

如果你需要authentication等等,它会变得更复杂一些。

我假设你正在WebBrowser控件中显示网页。 您可以处理WebBrowser.Navigating事件并检查WebBrowserNavigatingEventArgs URL属性的值,以查看string.EndsWith(“。csv”,CurrentCultureIgnorecase)(或者更具体的testing)。

如果您检测到被点击的链接是针对您要下载的文件,那么您可以在WebBrowserEventArgs实例上调用e.Cancel()= True,以停止浏览器继续其打开“文件下载”对话框的正常行为。 然后你可以使用.NET的HttpWebRequest和HttpWebResponse类来手动下载文件。

下面是使用这些类下载的示例

其实我正在做一个屏幕抓取,所以我不显示网页。

我所做的是去了报告显示在屏幕上的url。 有一个Excel的超链接。 我使这个超链接从我的程序本身点击。 点击这个链接,它打开文件下载对话框。

我已经写了WebBrowser.Navigating和Navigated事件,但是控件不会来到这里。 有任何想法吗

还有一件事,我访问的网站是java网站。