Установка типа mime для документа excel

MS Excel имеет следующие наблюдаемые типы MIME:

  • application/vnd.ms-excel (официальный)
  • application/msexcel
  • application/x-msexcel
  • application/x-ms-excel
  • application/x-excel
  • application/x-dos_ms_excel
  • application/xls
  • application/x-xls
  • application/vnd.openxmlformats-officedocument.spreadsheetml.sheet (xlsx)

Есть ли какой-либо тип, который будет работать для всех версий? Если нет, нам нужно установить response.setContentType() с каждым из этих типов mime индивидуально?

Кроме того, мы используем потоковое воспроизведение файлов в нашем приложении для отображения документа (а не только Excel - любого типа документа). При этом, как мы можем сохранить имя файла, если пользователь хочет сохранить файл - в настоящее время имя сервлета, который отображает файл, отображается как имя по умолчанию.

Ответ 1

Я считаю, что стандартный тип MIME для файлов Excel - application/vnd.ms-excel.

Что касается имени документа, вы должны установить в ответ следующий заголовок:

header('Content-Disposition: attachment; filename="name_of_excel_file.xls"');

Ответ 2

Пробуждение старого потока здесь я вижу, но я почувствовал желание добавить "новый" формат .xlsx.

В соответствии с http://filext.com/file-extension/XLSX расширение для .xlsx равно application/vnd.openxmlformats-officedocument.spreadsheetml.sheet. Это может быть хорошей идеей включить его при проверке типов mime!

Ответ 3

Вы всегда должны использовать ниже тип MIME, если хотите использовать файл excel в формате xlsx

application/vnd.openxmlformats-officedocument.spreadsheetml.sheet 

Ответ 4

Я установил MIME-тип из .NET-кода, как показано ниже -

File(generatedFileName, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")

Мое приложение генерирует excel с помощью OpenXML SDK. Этот тип MIME работал -

vnd.openxmlformats-officedocument.spreadsheetml.sheet

Ответ 5

Для тех, кто все еще спотыкается об этом после использования всех возможных типов MIME, перечисленных в вопросе:

Я обнаружил, что iMacs также генерируют MIME-тип "text/xls" для файлов Excel XLS, надеюсь, что это поможет.