for your report to be meaningful, there are parameters. these can be parameters to the report, or parameters the your user entered in the application and then you retrieve the data and pass the data to the report. the latter is what my company does, we build our own wizards, retrieve the data and then pass the results to report which displays.
I don't know about exporting, as we have the user decide on that, and while I haven't written the code, I know we send reports straight to the printer without the viewer every being display, so it is possible. I just don't know the code/method off the top of my head.
HTH