Экспорт файла Excel для просмотра (MVC)

Я должен экспортировать данные для просмотра в Excel, на самом деле я реализовал,но мои сомнения, когда использовать

return new FileContentResult(fileContents, "application/vnd.ms-excel");

vs

return File(fileContents, "application/vnd.ms-excel");

и как установить загружаемое имя файла в каждом из этих методов?

Пример 1:

public ActionResult ExcelExport()
{
   byte[] fileContents = Encoding.UTF8.GetBytes(data);
   return new FileContentResult(fileContents, "application/vnd.ms-excel");
}

Пример:2

public ActionResult ExcelExport()
{
   byte[] fileContents = Encoding.UTF8.GetBytes(data);
   return File(fileContents, "application/vnd.ms-excel");
}

1 ответов


вы можете прочитать о различиях между FileContentResult & FileResult здесь : в чем разница между результатами четырех файлов в ASP.NET MVC

вы можете указать имя файла, как это

return new FileContentResult(fileContents, "application/vnd.ms-excel") { FileDownloadName = "name.xls" };

// or

// note that this call will return a FileContentResult object
return new File(fileContents, "application/vnd.ms-excel", "name.xls");