Как экспортировать подробные данные вида MVC asp.net в файл Excel?
Как экспортировать данные представления ASP.NET MVC в файл Excel? На самом деле моя страница просмотра содержит много типов данных представления. Я использую для каждого цикла с этими типами данных для отображения данных на странице просмотра. Мое требование заключается в том, что я хочу экспортировать эти отображаемые данные в файл Excel. Как мне этого добиться?
Спасибо
3 ответа
После некоторых экспериментов я использую 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