Поддерживают ли все браузеры excel ответы?

Я разрабатываю веб-приложение на python. Но клиент хочет инструмент, который экспортирует текущую страницу в Excel. Поэтому мне пришлось написать дополнительный код на всех страницах (представлениях), которые преобразуют таблицу в excel с помощью xlwt (модуль python).

Но у меня есть лучшее решение. Он отправляет содержимое html текущей страницы на сервер, и сервер будет отвечать на эту таблицу html как тип excel. Как это:

response['Content-Type'] = 'application/vnd.ms-excel; charset=utf-8' Response.ContentType = "application/vnd.ms-excel" 

Это работает неплохо. Но мне любопытно, поддерживает ли каждый браузер этот excel!?!?!

Если бы это не было большой проблемой для меня 🙁

Или браузеры поддерживают его, если на клиентском компьютере установлена ​​только MS Excel или OpenOffice?

Любое другое «глобальное» решение или идеи?

Правильное преобразование его в фактический файл Excel, безусловно, будет лучшим способом.

Тем не менее, если

  • Вы указываете имя файла .XLS extension
  • Отправлять по правильному типу MIME
  • Excel или какая-либо другая программа, зарегистрированная для обработки файлов XLS, установлена ​​на компьютере пользователя

метод «поддельный HTML как Excel» должен работать нормально. Я никогда не пробовал открывать HTML-файл, замаскированный как XML в OpenOffice, хотя – вы должны обязательно попробовать это и посмотреть, что он с ним делает.

Настройка типа контента, например, это уведомление клиенту о том, что документ имеет определенный тип – в некотором смысле, вы лжете браузеру, сообщая ему, что вы отправляете его в электронную таблицу Excel, когда вы действительно отправляете его HTML-документ. Эффект от этого заключается в том, что браузер попытается открыть его, как если бы это была электронная таблица Excel, и поскольку Excel знает, как импортировать HTML, он «работает» – как вы обнаружили.

Если у клиента нет Excel или другого программного обеспечения, настроенного для открытия документов Excel, браузер, вероятно, предложит сохранить документ. В любом случае, это не будет волшебным образом отображать его в виде таблицы. Я не уверен, что еще вы ожидаете?