SSRS Reportviewer Экспорт Excel неверный файл - PullRequest
0 голосов
/ 22 апреля 2020

У нас есть приложение, которое, помимо прочего, будет отображать отчет SSRS через элемент управления ReportViewer. При экспорте в Excel создается файл, который при открытии недавно начал выдавать ошибку:

Excel не может открыть файл «MyReportName.xlsx», так как формат файла или расширение файла недопустимо , Убедитесь, что файл не был поврежден и что расширение файла соответствует формату файла.

Эта проблема возникает во всех форматах приложений Office, но меня беспокоит вопрос Excel.

Я пытался переименовать расширение файла в .xls, но это не подтвердилось. Я попытался переименовать расширение в .zip и открыть в 7z, который обычно работает с файлами xlsx, но там тоже не открывается. Файл немного меньше, чем мы ожидаем - всего несколько килобайт.

При открытии непосредственно с сервера SSRS созданный файл Excel можно открыть нормально.

Кто-нибудь сталкивался с этим раньше? ?

Обновление:

В начале файла xlsx есть несколько дополнительных байтов.

Что-то добавляет их в поток, отправляемый в браузер. Удалите их, и файл откроется просто отлично.

Последние 2 байта этого дополнительного 0D 0A, что означает возврат каретки, перевод строки. Похоже, что-то добавляет текстовую строку перед отправкой файла. Если я загружаю файл, я получаю 4 байта и 0D 0A. Другой файл, который мы исследовали, имел 5 байтов, а затем 0D 0A, так что это определенно что-то текстовое.

...