There are 2 parts of your question
1- Uploading the excel file to the server
2- exporting the data to Gridview
For:
1- use simple file uploader control and receives the file stream at server end. Remember your file is in memory it is not saved anywhere else.
2- Exporting operation requires source data and target control. In your case source data is in memory stream and target control is gridview. So you need to either save the uploaded file to a temp location on server and then use the path with the above examples to export it to Gridview, or you can use Excel interop assembly but you need to find a way to convert memory stream to Excel's WorkBook object.
Note: I'm not able to recall but excel oledb driver has some limitation in reading data because the driver analyze the data size to read based on first N number of rows. I think it has something like below:
http://social.msdn.microsoft.com/forums/en-US/adodotnetdataproviders/thread/8ac74201-0371-47d9-b6a9-2993942777aa[
^]
So i'll vote for Excel interop. I found a link which talks about exporting data to xml you can code similar for GridView.
http://www.dreamincode.net/forums/topic/192828-reading-excel-data-from-specific-cells/[
^]
Thanks,
Hemant