如何在ASP MVC中下载由NPOI生成的xls文件

Ate*_*efB 3 c# asp.net-mvc npoi asp.net-web-api

我找到了如何将Excel电子表格流回客户端但在aspx代码中的例子.代码如下

using (var exportData = new MemoryStream())
{
workbook.Write(exportData);
string saveAsFileName = string.Format("MembershipExport-{0:d}.xls",  DateTime.Now).Replace("/", "-");
Response.ContentType = "application/vnd.ms-excel";
Response.AddHeader("Content-Disposition", string.Format("attachment;filename={0}", saveAsFileName));
Response.Clear();
Response.BinaryWrite(exportData.GetBuffer());
Response.End();
}
Run Code Online (Sandbox Code Playgroud)

我正在使用asp MVC 5和webApi Controller.我想将此代码迁移到返回HttpResponseMessage的WebApiController.有什么好主意吗?

Sky*_*ter 6

这会有帮助吗?

public FileResult DownloadFile()
{
    // code to create workbook 
    using (var exportData = new MemoryStream())
    {
        workbook.Write(exportData);
        string saveAsFileName = string.Format("MembershipExport-{0:d}.xls", DateTime.Now).Replace("/", "-");

        byte[] bytes = exportData.ToArray();
        return File(bytes, "application/vnd.ms-excel", saveAsFileName);
    }
}
Run Code Online (Sandbox Code Playgroud)