Exporting to Excel shouldn't be too much of a problem.
Really, all you have to do is send a csv file to the client, but change the header from text/html to excel. Excel will automatically come up if it's installed on the client, and display the data in cell blocks according to the way it is partitioned by commas.
I’ve looked at a lot of different solutions, and in my humble opinion Aspose is the way to go. Here’s the link: http://aspose.com