I have a web application that has a grid displaying a paged list of data to the user. The user needs the option to download the results to an Excel spreadsheet. However, the items displayed in the grid are, like I said, Paged and I need the whole result set. In addition, I’m only displaying about 7 fields per item, whereas the spreadsheet will contain all 20+ fields for an item. So, I’m not looking for a grid-to-Excel solution.
I’m trying to do something that I’ve actually worked with before. At a previous employer (source code not available), we had an application that contained SQL Server report as an RDLC file. We would create a ReportViewer control in code (var reportViewer = new ReportViewer()). Then, we would bind the report to the control, give it a datasource and then render the results in whatever format we needed. In my case I need an Excel File, and then stream the ExcelFile back to the user in the response.
I’m using MVC3, so I’ll be returning the Excel file as a FileContentResult. I’ve been searching the internet for a day and can’t quite find what I’m looking for.
Controller action. The format parameter should be ‘EXCEL’.
Helper method that creates a FileContentResult from any Report.
Edit: Forget to call the help function. Oops.