bal*_*log 313 csv asp.net http
我需要在HTTP响应中发送CSV文件.如何将输出响应设置为CSV格式?
这不起作用:
Response.ContentType = "application/CSV";
Run Code Online (Sandbox Code Playgroud)
Ant*_*nes 470
使用text/csv是最合适的类型.
您还应该考虑Content-Disposition在响应中添加标头.通常,Internet Explorer将text/csv直接加载到托管的Excel实例中.这可能是也可能不是理想的结果.
Response.AddHeader("Content-Disposition", "attachment;filename=myfilename.csv");
Run Code Online (Sandbox Code Playgroud)
以上将导致出现"另存为"对话框,这可能是您想要的.
小智 46
多年来,我一直在为这个工具磨练一套完美的标题,这些标题在我所知道的所有浏览器中都非常出色
// these headers avoid IE problems when using https:
// see http://support.microsoft.com/kb/812935
header("Cache-Control: must-revalidate");
header("Pragma: must-revalidate");
header("Content-type: application/vnd.ms-excel");
header("Content-disposition: attachment; filename=$filename.csv");
Run Code Online (Sandbox Code Playgroud)
小智 25
尝试其中一种其他mime类型(从这里:http://filext.com/file-extension/CSV)
此外,mime类型可能区分大小写......
小智 15
就这样使用吧
Response.Clear();
Response.ContentType = "application/CSV";
Response.AddHeader("content-disposition", "attachment; filename=\"" + filename + ".csv\"");
Response.Write(t.ToString());
Response.End();
Run Code Online (Sandbox Code Playgroud)
在ASP.net MVC中,您可以使用a FileContentResult和File方法:
public FileContentResult DownloadManifest() {
byte[] csvData = getCsvData();
return File(csvData, "text/csv", "filename.csv");
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
309926 次 |
| 最近记录: |