我们正在使用ASP MVC。 显示报告时,我们为用户提供“导出到Excel”选项。 如果用户选择此选项,我们会调用查询,并返回CSV结果。
在Chrome和Firefox中,CSV文件保存在磁盘上,用户可以在该磁盘上打开文件,一切正常。
在IE中,用户会看到“你想用xxx.csv做什么?” - 如果他们单击“打开”,文件将打开,但所有csv数据仅在第一列中 - 如果他们点击“保存”,文件将被保存,可以打开文件,数据显示在不同的列中。
这是我们的C#代码:
public ActionResult Csv()
{
Response.ContentType = "text/csv";
Response.AddHeader("Content-Disposition", @"filename=""TransactionHistory.csv""");
return new FileStreamResult(service.RunReportAsCSV(), "text/csv");
}
更新------------------- 这有效! :)
return File(service.RunReportAsCSV(), "text/csv", "TransactionHistory.csv");
还删除了其他响应调用。