It's somewhat hard to understand what it is you're trying to do.
Option 1
Why cant you provide the user with a parameter that changes the ordering dynamically? If that's the case, you can ensure when the data is exported to Excel, it's sorted in the order they ran the report for.
Option 2
If option 1 makes the report run too slowly, what version of Excel are you using? Excel 2010 and 2007 have capabilities to let you sort by any column on a worksheet.
just google for excel 2010 conditional formatting