Я в настоящее время работаю с ASP.NET MVC, и у меня есть метод действия, который отображает немного отчетов в представлении в формате таблицы.
У меня есть требование для экспорта той же таблицы в документ Excel при щелчке кнопки в Представлении.
Как это может быть достигнуто? Как Вы создали бы свой Метод действия для этого?
Получите данные из базы данных, используя ваши методы доступа к данным в точечной сети.
Используйте цикл для получения каждой записи.
Теперь добавьте каждую запись в переменную одну за другой, как это.
Name,Email,Phone,Country
John,john@john.com,+12345,USA
Ali,ali@ali.com,+54321,UAE
Naveed,naveed@naveed.com,+09876,Pakistan
используйте код новой строки в конце каждой строки (например, '\ n')
Теперь запишите данные выше в файл с расширением .csv (пример data.csv)
Теперь откройте этот файл в EXCEL
:)
I'm using component, called Aspose.Cells (http://www.aspose.com/categories/.net-components/aspose.cells-for-.net/).
It's not free, though the most powerful solution I've tried +)
Also, for free solutions, see: Create Excel (.XLS and .XLSX) file from C#
В вашем действии контроллера вы могли бы добавить следующее:
Response.AddHeader("Content-Disposition", "filename=thefilename.xls");
Response.ContentType = "application/vnd.ms-excel";
После этого просто отправить пользователя в такой же вид. Это должно сработать.