3

i found an exemple of how to Stream the Excel spreadsheet back to the client but in aspx code. the code is below

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();
}

i'am working with asp MVC 5 and webApi Controller. I want to migrate this code to WebApiController that returns HttpResponseMessage. Any propositions please ?

Jinesh Jain
  • 1,232
  • 9
  • 23
AtefB
  • 171
  • 1
  • 3
  • 16

1 Answers1

8

Will this help?

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);
    }
}
Skye MacMaster
  • 894
  • 1
  • 10
  • 19