My answer is "don't do that"...
You honestly have a use case that requires a half million rows in a spreadsheet? Why??
Did you know that Excel can query your database directly? You don't need to retrieve all that data into a datawindow first...
-Paul-