The best way to minimize this time would be to not do it this way. Try reducing the number of columns or rows. The other thing to do would be to schedule this export to be run instead of trying to do it on the fly. You could even run this export on a different (faster) machine. Finally, you could cut out Crystal Reports and dump the data from SQL directly into Excel. You might want to look at something like PowerPivot, which works very well with massive amounts of data.
You are working with almost 2.3 million data points. Exporting all of those into Excel is going to take time, especially if you are loading it in memory once (in Crystal) and then trying to make a copy of it in memory to transform it into Excel.
Update
If you are looking to find out more information about PowerPivot, this is a good place to start:
http://technet.microsoft.com/en-us/library/gg413497(v=sql.105).aspx[
^]
It will be a radical shift from what you are doing now, but the performance improvements will be incredible. It all depends on if you want to tweak your system or if you want to do a complete overhaul. This method is a complete overhaul. The other methods above are more tweaks.