Альтернатива PHP_excel

132

Есть ли альтернатива PHP_excel, которая может «экспортировать в XLSX / XLS» файл в настраиваемом формате?

Это общий справочный вопрос для тег

Сандип
источник
2
Учитывая, что часто задаваемые вопросы о библиотеках, которые могут читать / писать файлы Excel, регулярно указывают на этот ответ из-за предоставленного списка ... и что этот список регулярно обновляется, я не понимаю, почему его следовало закрыть.
Марк Бейкер
1
Я не был одним из доводчиков, но причина в графе «закрыто как не по теме» кажется мне довольно близкой. См. Также: почему вопросы о списках покупок - это плохо . Я понимаю, что ваш ответ качественный и обновляется, но сам вопрос все еще попадает в эту категорию вне темы.
IMSoP
14
Хотя вопрос технически не по теме, это канонические вопросы и ответы по этой теме, которые имеют большое значение. Пожалуйста, не закрывайте его.
Гордон

Ответы:

39

Я написал очень простой класс для экспорта в "Excel XML", известный как SpreadsheetML. Это не так удобно для конечного пользователя, как XSLX (в зависимости от расширения файла и версии Excel они могут получить предупреждающее сообщение), но с ним намного проще работать, чем с XLS или XLSX.

http://github.com/elidickinson/php-export-data

Eli
источник
1
Если бы вы написали это, поделитесь ли вы, под какой лицензией вы его предлагаете? У меня были проблемы с расшифровкой вашего ответа соответственно. из источников, на которые вы ссылаетесь, но вам будет интересно узнать больше.
hakre
@Eli: Как мы можем объединить два столбца в определенной строке?
Иоанн
1
@Eli, как мне создать новые листы, используя твой код?
Иванакорович
Как создать и скачать файл xlsx, используя AJAX?
Гуру
286

Для написания Excel

  • PHP_Excel_Writer PEAR (только xls)
  • php_writeexcel от Bettina Attack (только для xls)
  • Генератор файлов XLS коммерческий и только xls
  • Excel Writer для PHP от Sourceforge (только для таблицы XML)
  • Расширение Excel Ильи Альшанецкого теперь на github (xls и xlsx, требуется коммерческий компонент libXL )
  • Расширение PHP для COM (требуется программа для работы с электронными таблицами с поддержкой COM, такая как MS Excel или OpenOffice Calc, работающая на сервере)
  • Альтернатива Open Office для COM ( PUNO ) (требуется, чтобы Open Office был установлен на сервере с включенной поддержкой Java)
  • PHP-Export-Data от Эли Дикинсона (пишет SpreadsheetML - формат Excel 2003 XML и CSV)
  • Php-excel Оливера Шварца (SpreadsheetML)
  • Оригинальная версия php-excel Оливера Шварца (SpreadsheetML)
  • excel_xml (SpreadsheetML, несмотря на название) ... ссылка признана неработающей
  • Крошечный, но сильный (tbs) проект включает в себя инструмент OpenTBS для создания документов OfficeOpenXML (форматы OpenDocument и OfficeOpenXML)
  • Заявления SimpleExcel для чтения и записи форматов Microsoft Excel XML / CSV / TSV / HTML / JSON и т. Д.
  • Только электронные таблицы KoolGrid xls, но также doc и pdf
  • PHP_XLSXWriter OfficeOpenXML
  • PHP_XLSXWriter_plus OfficeOpenXML, форк PHP_XLSXWriter
  • Только php_writeexcel xls (похоже, основан на PEAR SEW)
  • носик OfficeOpenXML (xlsx) и CSV
  • Slamdunk / php-excel (только xls) выглядит как обновленная версия старого средства записи электронных таблиц PEAR

Для чтения Excel

Новое расширение C ++ Excel для PHP, хотя вам нужно будет создать его самостоятельно, а документов довольно мало, когда дело доходит до попытки выяснить, какие функции (я даже не могу узнать с сайта, какие форматы оно поддерживает, или читает ли он, или пишет, или и то, и другое .... Я предполагаю, что и то, и другое) он предлагает phpexcellib от SIMITGROUP.

Все утверждают, что они быстрее, чем PHPExcel из codeplex или из github , но (за исключением COM, оболочки PUNO Ilia вокруг libXl и spout) они не предлагают и чтение, и запись, или оба xls и xlsx; может больше не поддерживаться; и (хотя я не тестировал расширение Илии) только COM и PUNO предлагают такую ​​же степень контроля над созданной книгой.

Марк Бейкер
источник
Расширение Ильи теперь поддерживает XLS и XLSX.
Сара
6
@RZB - вы используете ту библиотеку, которая вам подходит, хотя MySQL не имеет (насколько мне известно) встроенной функции импорта для файлов .xls, только для .csv с использованием LOAD DATA INFILE. Как разработчик PHPExcel, я обязательно буду продвигать его и рекомендовать, когда это уместно, но я не настаиваю на его использовании, если это не самый подходящий вариант.
Марк Бейкер
1
@velcrow хороший легкий движок. Хорошая рекомендация, нужно немного поработать, но выводит качественные файлы
XSLX
1
спасибо за ваше драгоценное время.
Zain
1
@Mark, было бы здорово, если бы ты мог сделать что-нибудь вроде$manyAnswers = split($libSeparator, $thisAnswer); // So we could vote and comment by lib
dap.tci