Как экспортировать подробные данные вида MVC asp.net в файл Excel? - PullRequest
0 голосов
/ 21 апреля 2010

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

Спасибо

Ответы [ 3 ]

1 голос
/ 21 апреля 2010

Посмотрите на 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, вы сможете реализовать их там.

0 голосов
/ 21 апреля 2010

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

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

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

0 голосов
/ 21 апреля 2010

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

.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...