我有一个URL,当我在浏览器中加载它时,它将其识别为csv文件并弹出excel“你想要打开吗?”。我想以编程方式执行此操作,因此我可以让winforms应用程序使用该URL并直接解析csv文件。

最快的方法是什么?


编辑:我尝试使用WebClient,我收到了以下错误:

"远程服务器返回错误:(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);

网址是您的网站,其中包含csv文件,而csvPath是您希望实际文件的位置。

其他提示

如果你有一个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);
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top