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

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

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

против

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");
Другие вопросы по тегам