Как стать автором
Обновить

Комментарии 23

Спасибо за хорошую наводку. Раньше я отказывался от проприетарных вещей, но сейчас понимаю что проще заплатить чем возиться самому, дешевле выходит.
xlsx — это банальный xml, пожатый zip-ом, ничего нетривиального для чтения данных там нет. Более того, если все данные в памяти одновременно не нужны, читать их можно потоковыми библиотеками так, что кол-во потребляемой памяти от объема документа не будет зависеть вообще.
Если у вас есть готовое решение, мы бы с радостью на это посмотрели. К сожалению, решений, которые одновременно бы качественно работали с xls и xlsx, мы не нашли.

Данные PHPExcel читал, конечно же, не загружаются все в память. Грузится по 4072 строки. (Результаты видны на графиках).
Готовое решение для unzip + stream xml read? Можно, я вас в гугл перенаправлю?
Обычный xls действительно нетривиален, тут мне предложить нечего кроме java apache poi. Мой комментарий касался только xlsx и того, что для него можно обойтись и без платных библиотек.
xls пора забывать, пользователю кнопкпу нажать, а разработчику времени на что-то другое не хватает. 2014 год. Хоть и многие сидят на 2003 ворде, но этот случай уже попахивает историей с поддержкой ie6
Просто так от xls отказаться не получится. Тот же OpenOffice в 2014 году по неясным для меня причинам сохранять в xlsx не умеет, кроме xls только ods. Который, в свою очередь, MS Excel читает и пишет, но с трудом.
В общем, если поддерживать ровно один какой-то формат — остается только csv.
Разве OpenOffice не умер, уступив место LibreOffice?
А с чего бы ему умирать? Крайнее обновление всего месяц назад вышло.
Возможно вопрос не по вашей теме, но раз вы уж тут, задам. Как можно организовать рассылку квитанций за ЖКУ? Есть база email, есть список файлов в формате PDF, который нужно прикрепить вложением к каждому email. Используя подобный сервис я смогу реализовать мою задачку?
Мне странным показалось только одно — заплатив 200$ нужно еще попрыгать вокруг с Reflection.
Возможно я чего-то не понимаю, но все что есть в примере поста — есть в документации.
С Reflection надо прыгать из-за отсутствия документации именно для PHP-обертки.
Ей не нужна документация, она повторяет все классы и принципы работы библиотеки. А к ней документация есть. Для php расширения там есть пустые php классы с описанием классов и методов, причем хорошо докуметированные
за 200$ уже можно и офис купить, и работать с любыми документами через com объекты на php. Правда… еще нужен сервак с виндой…
Мы так и сделали, на самом деле.
Мы в нашем проекте сначала преобразуем XLS/XLSX в CSV, а потом уже построчно читаем CSV.
Для XLS используем консольную программу xls2csv (входит в пакет "catdoc" в репозитории Ubuntu), а для для XLSX — xlsx2csv.
Разумеется, все это бесплатно :)
Действительно, пользователям разных офисных программ достаточно экспортировать всё в csv и всё. Не надо забывать, что есть ещё другие форматы таблиц, OpenOffice, например. Хотя, в принципе, можно написать сайт для работы сразу со всеми, конечно. Но для csv в РНР есть встроенные решения для перегрузки их в MySQL.
kiaplayer как раз-таки говорит о том, что пользователю в их случае не обязательно менять привычные форматы XLS/XLSX на что-то другое — система переконвертирует сама.
Из самого OpenOffice: Сохранить как… — .csv?
Необходимо без участия пользователя средствами доступными серверной ОС (например Ubuntu).
В прошлом проекте ребята наваяли что-то на базе то ли ЛО, то ли ОО для конвертации в пдф. Вроде через «консоль», но не вникал, может и иксы поднимали.
Спасибо за интересную библиотеку. Сам часто использовал phpExcel в своих проектах и меня жутко бесила скорость работы этой библиотеки. Еще один вопрос ( возможно не совсем в тему ) — вам не приходилось сталкиваться в миграцией данных из MS Access в Excel на php?
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.