Экспорт файла Excel для просмотра (MVC) - PullRequest
6 голосов
/ 02 октября 2011

Мне нужно экспортировать данные для просмотра в формате 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 Ответ

9 голосов
/ 05 октября 2011

Вы можете прочитать о различиях между 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");
...