MadMyche
Проблема не в коде, который вы предоставили, и не в использовании MVC; проблема, похоже, заключается в содержании и способе его создания.
Если вы просто читаете файл из каталога и отправляете его в виде потока, вам нужно будет убедиться, что этот файл является допустимым XLS - файлом с расширением XLS. Если это файл XLSX, вам нужно будет соответственно изменить теги заголовка.
Если вы программно создаете этот документ Excel из данных (он же экспорт), вам необходимо проверить, что вы создаете настоящий документ Excel и что тип документа Excel соответствует заголовкам.
Вот несколько способов, которыми это можно сделать:
6 простых способов экспорта данных в Excel в блогах C# | Syncfusion[^]
Наконец, если у вас возникли проблемы с созданием настоящего документа Excel, вы можете просто вернуться к отправке данных в виде очерченного (обычного) текстового файла, такого как CSV. Для этого не требуется программа (например, Excel), чтобы открыть его, но Excel является открывателем по умолчанию для него