Технически говоря, это не экспорт в Excel, но вы отправляете HTML-код с неправильными заголовками, чтобы обмануть браузер, чтобы открыть этот контент с помощью Excel. Если вы придерживаетесь этого решения, вы должны визуализировать только GridView на отдельной странице aspx.
У этого решения могут быть проблемы, Excel сам предупредит пользователя о том, что содержимое отличается от расширения, потому что вы отправляете html, а заголовки ответа говорят, что это файл Excel. И я могу поспорить, что некоторые программы защиты от вредоносных программ на клиенте или что-то подобное на сервере будут блокировать этот ответ, поскольку передача содержимого, отличного от заявленного в заголовках, является известным поведением вредоносных программ.
Лучше использовать NPOI (xls) или / и EPPlus (xlsx) и полностью контролировать экспорт в Excel.