Как экспортировать подробные данные вида MVC asp.net в файл Excel?

Как экспортировать данные представления ASP.NET MVC в файл Excel? На самом деле моя страница просмотра содержит много типов данных представления. Я использую для каждого цикла с этими типами данных для отображения данных на странице просмотра. Мое требование заключается в том, что я хочу экспортировать эти отображаемые данные в файл Excel. Как мне этого добиться?

Спасибо

3 ответа

Посмотрите на http://blogs.msdn.com/erikaehrli/archive/2009/01/30/how-to-export-data-to-excel-from-an-asp-net-application-avoid-the-file-format-differ-prompt.aspx.

После некоторых экспериментов я использую Open XML SDK 2.0. В настоящее время вы можете найти много информации о том, как это сделать, на http://msdn.microsoft.com/en-us/office/aa905545.aspx и http://openxmldeveloper.org/. Еще одна ссылка http://extrememl.codeplex.com/ может быть полезна.

Использование Open XML SDK 2.0 в первый раз занимает немного больше времени, чем другие способы, но экспортированные файлы являются настоящими файлами Excel и не должны преобразовываться пользователями. И если у вас будет больше требований к формату создаваемых файлов Excel, вы сможете реализовать их там.

Вы можете перебрать ключи / значения ваших ViewData и сгенерировать файл Excel (различные варианты, упомянутые здесь) или просто CSV

Но я бы рекомендовал делать это в контроллере и возвращать FileResult, а не из ViewData (который, я полагаю, вы используете в вашем View).

В зависимости от сложности HTML-кода страницы вы можете просто изменить тип заголовка на application/excel, Excel имеет встроенную функцию анализа html. Я успешно делал это много раз несколько лет назад с помощью DataGrid на странице.

Response.ContentType = "application/excel"
Response.AppendHeader "content-disposition", "attachment: filename=TestExcelFile.xls"

Некоторые подробности о HTML в Excel

Другие вопросы по тегам