0
我試圖實現MVC 2文件下載鏈接,開放式XML Excel電子表格。如果我直接寫它的工作原理如下響應...發送流方式瀏覽器作爲附件在MVC 2
var data = MooseMartAdoManager.ExecuteSet("Report.StagAllCasesFullDetail");
var str = ExcelExportManager.GenerateSpreadsheet(data) as MemoryStream;
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
Response.AddHeader(
"content-disposition",
"attachment;filename=StagFullDetail" + DateTime.Now.ToString("yyyy-MM-dd-hh-mm-ss") + ".xlsx");
str.WriteTo(Response.OutputStream);
但是,由於我花時間抽象了所有關於如何收集數據以及爲代碼重用和IOC創建報告的邏輯,因此能夠找出這種劑量爲什麼會起作用...
public FileStreamResult GetExcelDetailExport()
{
var data = MooseMartAdoManager.ExecuteSet("Report.StagAllCasesFullDetail");
var file = ExcelExportManager.GenerateSpreadsheet(data);
return File(file, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"StagFullDetail" + DateTime.Now.ToString("yyyy-MM-dd-hh-mm-ss") + ".xlsx");
}
我得到的只是txt格式的零字節文件。
那麼什麼是「正確」的MVC方式來處理這個問題呢?
不錯的,謝謝:) – 2012-01-31 14:00:22