You can do this by overriding the HttpResponse buffer of your aspx page.
First clear out the response buffer with
Response.Clear()[
^]
You an then either use
Response.BinaryWrite()[
^] to stream in a byte array, or
Response.WriteFile()[
^] if you would rather use a file that has already been written to a byte array.
You may also need to set the appropriate mime type with
Response.ContentType[
^].
Essentiall you shoul en up with something like this:
Response.Clear();
Response.WriteFile(FilePath);
Response.ContentType = "application/vnd.ms-excel";
As a sidenote, you may run into issues with running your application on a server if you're using Interop. I did when I tried to use it a couple of years ago; I've used OleDB since then and it pretty much fits my needs, the only catch is that you can't do formatting with it. Here's an article if you want a brief introduction:
Read and Write Excel Documents Using OLEDB[
^]