我正在使用EPPlus生成Excel文件,我希望用户下载文件时提示保存它,而不是立即在Excel中打开文件。我怎么能在MVC中这样做?
这是我目前的代码:
[HttpGet]
public ActionResult DownloadData()
{
byte[] excelData = ExportService.GetServiceTrackerDataAsExcelData();
return File(excelData, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", String.Format("ServiceTrackerData-{0}.xlsx", DateTime.Now.ToString("yyyy-MM-dd")));
}
答案 0 :(得分:3)
你不能。
您已经告诉浏览器该文件是附件,因此浏览器将在外部处理它。默认情况下,大多数浏览器将显示要求打开或保存的对话框。但是,用户可以选择将Excel文件设置为自动打开(通常是“下次自动执行此操作”的复选框)。如果用户选择在Excel中自动打开,则无法覆盖它。
答案 1 :(得分:0)
Response.AddHeader("content-disposition", "attachment;filename=ServiceTrackerData.xslx")