Я хочу, чтобы файлы Excel на веб-сайте открывались в Excel при нажатии, а не сохранялись на рабочем столе или открывались встроенными в браузер и т. Д. Теперь, очевидно, все зависит от того, как все настроено для каждого пользователя, но что лучше Content-Type и другие настройки, чтобы добиться именно этого в большинстве случаев?
Что такое правильный тип содержимого для файлов Excel?
comment
Хотя это дубликат, я думаю, что его следует хранить как указатель на связанный дубликат. Названия достаточно разные.
- person John Saunders   schedule 06.11.2014
comment
Типы MIME формата файлов Office 2007 для потоковой передачи содержимого HTTP
- person KyleMit   schedule 12.06.2018
Ответы (3)
Для файлов BIFF .xls
application/vnd.ms-excel
Для файлов Excel2007 и выше .xlsx
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
person
Mark Baker
schedule
30.05.2010
Это не работает для меня при использовании IE9. Хром, Опера, Сафари, Фаерфокс - без проблем. Но IE не распознает
Content-type
, и я проверил с помощью отладчика в IE, чтобы подтвердить, что Content-type равен application/vnd.ms-excel
. Я также тестировал заголовки в нижнем/верхнем регистре. Кто-нибудь испытал это?
- person luttkens; 24.09.2013
@luttkens - это будет проблема с комбинацией заголовков, которые вы отправляете, они по-прежнему являются допустимыми типами контента для файлов Excel.
- person Mark Baker; 24.09.2013
@MarkBaker Ты прав. Когда я удалил
Content-Disposition: attachment; filename='foo.xls'
, это сработало. Но это не делает меня как IE...
- person luttkens; 24.09.2013
Для всех, кто интересуется: удалив одинарные кавычки вокруг foo.xls из
Content-Disposition
, даже IE распознает, как его открыть.
- person luttkens; 24.09.2013
Здравствуйте, знаете ли вы Content-Type файлов .xlsx, созданных Google Docs? Я пробовал ваш ответ, но не повезло.
- person pikachu0; 17.03.2014
У меня была проблема, из-за которой я не мог открыть этот тип файла после его загрузки программно. По сути, он правильно сохранит файл, но когда я сделал response.Transmitfile(..filepath..), где filepath был законным путем к неповрежденному файлу excel, он вернул поврежденный файл. Изменение response.ContentType с простого/текстового на application/nvd.ms-excel исправило это.
- person Lukas; 19.03.2014
.docx хуже application/vnd.openxmlformats-officedocument.wordprocessingml.document
- person mkz; 15.06.2014
что такое тип контента для файлов Office 365 excel?
- person GANI; 23.09.2014
@ user1016740 Файлы Office 365 представляют собой файлы формата OfficeOpenXML .xlsx, поэтому
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
- person Mark Baker; 23.09.2014
(+1) В системе Mac, если вы получаете дополнительный (.xls), то добавление второго типа контента (application/vnd.openxmlformats-officedocument.spreadsheetml.sheet) исправит его.
- person Confused; 27.01.2016
@Confused - второй тип контента просто перезапишет первый, у вас может быть только один заголовок типа контента
- person Mark Baker; 27.01.2016
@MarkBaker Я имею в виду вторую строку (т.е. application/vnd.openxmlformats-officedocument.spreadsheetml.sheet) приведенного выше ответа, а не первую (application/vnd.ms-excel).
- person Confused; 27.01.2016
Спасибо за хороший ответ, кстати :-)
- person Confused; 27.01.2016
Почему они используют такую уродливую вещь, как это?
- person Hinrich; 14.03.2016
@Hinrich - потому что эти уродливые вещи говорят браузеру, как обрабатывать данные, которые вы ему отправляете.
- person Mark Baker; 14.03.2016
Для тех, кто невежественен, как я, и не совсем уверен, что такое BIFF, может помочь следующее: XLS — это расширение файла электронной таблицы Microsoft Excel. Он создан в версиях Excel до 2007 года. Это двоичный формат, основанный на формате двоичного файла обмена (BIFF), поэтому он хранит информацию в двоичном формате.
- person Steve Chambers; 31.10.2016
@MarkBaker, а как ты это понял?
- person Black; 21.11.2019
application/vnd.ms-excel
vnd class
/ зависит от поставщика- http://en.wikipedia.org/wiki/Microsoft_Excel#File_formats
person
miku
schedule
30.05.2010
Форматы файлов, перечисленные выше. Тип содержимого http см. в разделе Типы MIME формата системных файлов Office< /а>
- person Nelda.techspiress; 26.05.2017
Имейте в виду, что file.getContentType
может также выводить application/octet-stream вместо необходимого application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, когда вы пытаетесь загрузить файл, который уже открыт.
person
DiTap
schedule
26.02.2014