PHP Генерация / экспорт файлов Microsoft Excel

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

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

Какой код используют другие пользователи для этого общего требования?

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

Использовать Spreadsheet_Excel_Writer из PEAR

или

Запишите файл в формат CSV .
Но используйте Microsoft Excels для понимания csv: точка с запятой (;) в качестве разделителя

Вы также отключите диалоговое окно, используя regedit

[HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Excel\Security] “ExtensionHardening”=dword:00000000 
  • Пуск -> Выполнить -> regedit
  • Перейдите в раздел «HKEY_CURRENT_USER \ SOFTWARE \ MICROSOFT \ OFFICE \ 12.0 \ EXCEL \ SECURITY»
  • Новый DWORD
  • Введите «ExtensionHardening» в качестве имени и 0 в качестве значения

Я обнаружил, что добавление следующего в подписи xml в моем сгенерированном Excel-файле гарантирует, что Excel откроет файл с расширением xml-файла (а не с веб-браузером):

  <?mso-application progid=\"Excel.Sheet\"?> 

Я также устанавливаю следующие заголовки в php:

 // deliver header (as recommended in php manual) header('Content-Type: application/vnd.ms-excel; charset=UTF-8'); header('Content-Disposition: attachment; filename="' . $filename . '.xml"'); 

файл находится в другом формате, что расширение файла

Вы пытались сохранить файл с другим расширением? Как «foo.xlsx» вместо «foo.xls».

  • Экспорт из базы данных в .CSV
  • Загрузка файла Excel в PHP
  • Преждевременный конец заголовков скриптов: php-cgi и внутренняя ошибка сервера
  • Перетащите Jqgrid одно значение столбца в другое, как в excel
  • Импорт utf-8 заголовков Maatwebsite Laravel
  • Новый символ строки CSV
  • Установите ширину столбца Excel (Xml)
  • Ошибка анализа: ошибка синтаксиса, неожиданный T_CONSTANT_ENCAPSED_STRING
  • Создайте файл Excel с помощью PHP Codeigniter
  • Импортировать CSV, используя PHP, не распознавая новые символы линии?
  • Как импортировать файл Excel в mysql?
  • Давайте будем гением компьютера.