You are really not exporting anything as an Excel file. What you are doing is exporting an html with an "xls" extension that when opened in Excel would render as a native "xls" file.
What you should be doing is exporting to a native Excel document. There are several free and commercial libraries to help with this.
A couple a good free one are:
EPPlus -
EPPlus-Create advanced Excel spreadsheets on the server - Home[
^]
OpenXML SDK -
Welcome to the Open XML SDK 2.5 for Office[
^]
If you are able to look at commercial products I would recommend looking at Aspose. Great product that has been around for several year.
The one product to avoid is Office Interop. Even MS does not recommend using this in today environments.