Реализация быстрого импорта из Excel на PHP / Блог компании Pechkin. Хабрахабр. Мы продолжаем рассказывать о технологиях, используемых на нашем сервисе email- маркетинга Pechkin- mail. Вы ведь помните о том, что весной у нас проходил конкурс статей? И о том, что я обещала опубликовать то, что сразу не получилось? Окно Открыть файл Excel. Выберите требуемые для импорта значения таблицы и нажмите кнопку OK. Таблица данных в формате STATISTICA.
Одной из ключевых задач любого сервиса, связанного с данными клиентов, является загрузка этих данных на сервис. Для Печкина очень важно быстро и без проблем для пользователя загружать адресные базы, содержащие email- адреса, имена, фамилии и другие дополнительные данные. Что использовать в качестве инструмента? Объясняется это просто: это стандартный инструмент, которым на базовом уровне владеют 1. Более того, в бизнесе — это де- факто корпоративный стандарт и используется даже, если на рабочих компьютерах Mac или Linux. Практически все CRM- , CMS- , облачные или десктопные системы имеют экспорт в Excel или CSV, который простым пересохранением приводится к формату XLS или XLSX. Известно также, что “9. ПО сидит в полуметре от монитора”. Не в обиду будет сказано рядовым пользователям, но мы должны учитывать самый базовый уровень подготовки и тех. Но тут возникает уже проблема непосредственно разработки. Наша боль, как разработчиков. Excel — это не open- source разработка, а проприетарное решение. Формат данных, особенно в новых версиях после 2. На Печкине используется PHP, поэтому мы начали поиск библиотек, которые позволят нам решить данную задачу. Но тут столкнулись с проблемой, что целый ряд библиотек, не позволяют читать xlsx: php- spreadsheetreader reads a variety of formats (. AND . csv)PHP- Excel. Reader (xls only)PHP. Ее мы использовали еще несколько лет назад в сервисе sms- рассылок SMS2. X7. ru. Библиотека, безусловно, интересная и развитая. Но для Печкина ее использовать стало невозможно уже через пару лет, когда выросли и мы и наши клиенты — ее катастрофическая требовательность к ресурсам и огромное время парсинга файлов. Например, нередки случаи загрузки на сервис адресных баз > 1. А если файл уже 5. Мб? И тут нас отпустило.. Библиотека написана на C++, а благодаря великолепному объектно- ориентированному расширению для PHP от Ilia Alshanetsky, легка в освоении и интеграции (например, переписать наше текущее решение с PHPExcel на Lib. XL заняло около 3 часов). Что очень классно, учитывая, что, к сожалению, документации от разработчика расширения нет и необходимо пользоваться расширением Reflection. Процесс установки очень прост. Теперь достаточно создать файл /etc/php. Проверим установился ли модуль и перезагрузим веб- сервер. Подгружаете файл и читаете необходимые ячейки. Например, вот так: $doc = new Excel. Book(). $doc- > load. File(. Данные тесты проводились на xlsx- файлах с N подписчиками в один стоблец с email. Реальные же адресные базы еще больше и сложнее и преимущество в скорости и потреблении памяти выглядит еще значительнее. Стоимость библиотеки 1. Безусловно рекомендуем всем, кто сталкивается с проблемой импорта Excel- файлов на свой сервис.
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |