我有一个URL,当我在浏览器中加载它时,它将其识别为csv文件并弹出excel“你想打开”。我想以编程方式执行此操作,因此我可以让winforms应用程序使用该URL并直接解析csv文件。
最快的方法是什么?
编辑:我尝试使用WebClient,我收到了以下错误:
“远程服务器返回错误:(500)内部服务器错误。”
答案 0 :(得分:6)
我不明白为什么这样的东西不起作用(在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是您希望实际文件的位置。
答案 1 :(得分:1)
如果您有WinForms应用,可以使用System.Net.WebClient将数据作为字符串读取。
它会将整个csv文件作为字符串读取,但您可以将其写出或随意解析。
答案 2 :(得分:0)
如果你想把东西放在一起我会建议使用脚本语言和一些bash。只需使用wget或类似的东西来获取文件和一些脚本语言来解析它。一旦你有了文件,你甚至可以用php来解析它,因为我知道php有以下功能非常好:http://php.net/manual/en/function.fgetcsv.php
我建议这样做,因为它更容易,这肯定会让你轻松地解析它虽然我不知道你想从那里做什么,但世界你的牡蛎。
答案 3 :(得分: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);