【发布时间】:2012-11-06 21:01:31
【问题描述】:
我正在尝试使用以下代码在可下载的 .csv 文件中显示数据流:
WebClient wc = new WebClient();
byte[] csvBytes = wc.DownloadData(url);
return File(csvBytes, "text/csv", "Test.csv");
URL 以这种格式返回数据:
"保罗","史密斯","A & P CONSTRUCTION","211 N JACKSON ST","纽约","NY","98055" "JEROME","HALSEY","A A A 定位公司","1906 SOUTHVIEW DR","PAPILLION","NE","68046" "迈克","GIBILISCO","ABSOLUTE SECURITY INC","944 S JEFFERSON ST","PAPILLION","NE","84102"
上述方法效果很好,我得到了一个可下载的链接......但是当我打开 .csv 文件时 - 我只得到一行的记录:
\"PAUL\" \"SMITH\" \"A & P CONSTRUCTION\" \"211 N JACKSON ST\" \"PAPILLION\" \"NE\" \"68046\"...
我应该如何修改上面的代码,以便获得正确格式的值(没有“\”并且在正确的列下)?
【问题讨论】:
-
看起来很奇怪。尝试任何其他浏览器执行相同操作。或者在隐私浏览模式下尝试 FireFox 以禁用任何可能影响 CSV 格式的插件
-
我用 firefox 和 IE(最新版本)进行测试,但得到相同的结果
-
好的,唯一的原因是您在 DownloadData() 中获取了错误的数据。要检查这一点,请将您的退货替换为 return Content(System.Text.Encoding.UTF8.GetString(bytes));并告诉你在浏览器中得到了什么。
-
"\"PAUL\",\"SMITH\",\"A & P CONSTRUCTION\",\"211 N JACKSON ST\",\"PAPILLION\",\"NE\" ,\"68046\"\r\n\,\"JEROME\",\"HALSEY\",\"A A A LOCATING INC\",\"1906 SOUTHVIEW DR\",\"PAPILLION\",\"NE\ ",\"68046\"\r\n\ ...
标签: c# asp.net asp.net-mvc webclient