What you're after in that case, is some form of Ajax
functionality. There's a stack of resources out there on Ajax that
you'll find with a bit of googling.
You could also achieve this type of funtionality by using
frames and making 1 (or more) frames invisible by setting their
height to 0. You can then direct action to the hidden frame - this
keeps the current page visible while the hidden frame generates
your excel.
cheers.