Выгрузка в excel в php: Экспорт данных в Excel на PHP

Приложение для загрузки/выгрузки Excel-таблиц на php

 

Подробная документация по модулю теперь тут

Данное приложение позволяет администратору выгружать объявления в excel-таблицу. После выгрузки можно исправить значения, либо добавить новые значения. После этого такой файл можно загрузить в базу.

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

Процесс установки приложения

Вам необходимо купить приложение. После оплаты это приложение будет доступно для скачивания. Для этого заходим в личный кабинет, здесь переходим в Услуги / Продукты.

Выбираем в строке Приложения — Excel загрузка/выгрузка – Просмотреть данные. Выбираем закладку Загрузки.

Скачиваем себе на жесткий диск архив excel.zip, распаковываем архив.

Затем при помощи FTP загружаем папку excel со всем содержимым к себе на сайт в каталог ./apps/

На этом установка завершена. Теперь можно перейти в панель управления и зайти в пункт меню Приложения / Excel.

Доступны два режима

·         Выгрузка объявлений в Excel-файл

·         Загрузка объявлений на сайт из Excel-файла

Подробнее об этих режимах:

Выгрузка объявлений в Excel-файл

Для активации этого режима нажмите ссылку справа «Выгрузить в Excel». Появиться форма в которой можно указать параметры выгрузки. Например, выгрузить объявления только определенного пользователя и определенной категории опубликованный на данный момент.

После выбора параметров нажимаем кнопку «Выгрузить в Excel» под формой параметров.

На ваш диск будет сохранен файл в формате dataYYYY-MM-DD_hh_mm.xlsx

Вы можете открыть этот файл при помощи Microsoft Excel версии не ниже 2007.

При редактировании файла допускается добавление новых значений. Важно сохранить ID-записи, так как именно по этому полю выполнятся поиск и обновления записей в базе данных сайта. Также можно добавлять новые строки. При этом новые строки, у которых поле ID – не заполнено, то будет создана новая запись с новым ID.

При указании раздела нужно помнить что важно сохранить полный путь, например Аренда/1-комн. Загрузчик на основе этого пути определит в  какую категорию из существующих на сайте добавить это объявление. Если загрузчик не найдет нужной категории, то он создаст новую категорию. Например, если у вас на сайте нет категории Коммерческая/Офисы, то будет создана родительская категория Коммерческая и внутри нее Офисы.

Если поле раздел оставить пустым, то загрузчик автоматически создаст раздел «Категория не указана» и сложит туда все записи с пустым разделом. Затем можно вручную назначить нужные категории.

Загрузка объявлений на сайт из Excel-файла

Когда вы подготовите нужный файл для загрузки, то можно выбрать этот файл в форме слева, при помощи кнопки «select xls file…»

После загрузки файла на сервер, в нижней части будут загружены первые 10 строк из этого файла, тут в первой строке указываются поля из базы данных сайта. Во второй строке выпадающие списки со значениями заголовков колонок из excel-файла. Загрузчик сначала попробует автоматически подобрать соответствующие значение для каждой колонки. Если значение не найдено, то в выпадающем списке будет выбрано «нет соответствия». В дальнейшем поля у которых «нет соответствия» — будут игнорированы при загрузке.

Когда будут выбраны все нужны соответствия, можете нажать ссылку внизу «Загрузить в базу»

Обновления / Плагин «Фильтр и экспорт заказов в Excel, CSV, ODS» для Shop-Script X

2023.2.21

22 февраля 2023

— обновление файлов локализации

2022.

3.3

7 апреля 2022

— доработки для Shop-script 9

— мелкие изменения

2021.8.2

6 октября 2021

— Доработка выгрузки курьеров

2021.8.0

28 августа 2021

— доработка выгрузки курьеров

2.21

22 ноября 2020

— исправлено сохранение настроек

2.

20.9

27 июня 2020

— мелкие доработки

2.20.5

25 мая 2020

— исправление прав

— поддержка плагина Закупочная цена.

2.20.3

16 мая 2020

— доработка экспорта: выгрузка конкретного заказа и списка

— мелкие исправления

2.20.2

12 мая 2020

— исправление выборки дат

— исправления сортировки полей

— исправления разбиения строк

2.

20.1

7 мая 2020

— доработка прав экспорта

2.20

7 мая 2020

— Поддержка профилей выгрузки.

— Поиск по имени товара.

2.10.1

15 апреля 2020

— обратная совместимость с PHP 5.6

Рекомендуется PHP 7.2

2.10

15 апреля 2020

— Новый параметры фильтр «Заказ оплачен»

— Поддержка плагина «Произвольные поля заказа(Of)»

2.

9

25 марта 2020

— выгрузка новых параметров

— доработка прав экспорта

— мелкие исправления

2.8

29 декабря 2019

Поддержка плагинов:

— Причина удаления заказа

— Причина отмены заказа

выберите `blog_categories`.*, (выберите count(*) из внутреннего объединения `blog_posts` `blog_post_cat_rels` в `blog_posts`.`id` = `blog_post_cat_rels`.`blog_post_id`, где `blog_categories`.`id` = `blog_post_cat_rels `.`blog_category_id` и `is_published` = 1 и `is_deleted` = 0) как `post_count` из `blog_categories`, где `parent_category_id` = 0 и `is_active` = 1 в порядке возрастания `position`)

🧨 SQLSTATE[HY000 ] [1045] Доступ запрещен для пользователя ‘gogab4tr_bfriendly_app_new_u’@’localhost’ (используя пароль: YES) (SQL: выберите `blog_categories`. *, (выберите count(*) из `blog_posts` внутреннего соединения `blog_post_cat_rels` на `blog_posts` .`id` = `blog_post_cat_rels`.`blog_post_id`, где `blog_categories`.`id` = `blog_post_cat_rels`.`blog_category_id` и `is_published` = 1 и `is_deleted` = 0) как `post_count` из `blog_categories`, где `parent_category_id` = 0 и `is_active` = 1 порядок по `позиции` по возрастанию)

 Illuminate\Database\QueryException: SQLSTATE[HY000] [1045] Доступ запрещен для пользователя 'gogab4tr_bfriendly_app_new_u'@'localhost' (с использованием пароля: YES) (SQL: выберите `blog_categories`.*, (выберите count(*) из `blog_posts ` внутреннее соединение `blog_post_cat_rels` на `blog_posts`.`id` = `blog_post_cat_rels`.`blog_post_id`, где `blog_categories`.`id` = `blog_post_cat_rels`.`blog_category_id` и `is_published` = 1 и `is_deleted` = 0 ) как `post_count` из `blog_categories`, где `parent_category_id` = 0 и `is_active` = 1 в порядке возрастания `position`) в файле /home4/gogab4tr/bootstrapfriendly.com/vendor/laravel/framework/src/Illuminate/Database /Connection. php в строке 712
#0 /home4/gogab4tr/bootstrapfriendly.com/vendor/laravel/framework/src/Illuminate/Database/Connection.php(672): Illuminate\Database\Connection->runQueryCallback('select `blog_ca...', Array, Объект(Закрытие))
#1 /home4/gogab4tr/bootstrapfriendly.com/vendor/laravel/framework/src/Illuminate/Database/Connection.php(359): Illuminate\Database\Connection->run('select `blog_ca...', Array, Object(Closure))
#2 /home4/gogab4tr/bootstrapfriendly.com/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(2413): Illuminate\Database\Connection->select('select `blog_ca...', Массив, правда)
#3 /home4/gogab4tr/bootstrapfriendly.com/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(2402): Illuminate\Database\Query\Builder->runSelect()
#4 /home4/gogab4tr/bootstrapfriendly.com/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(2936): Illuminate\Database\Query\Builder->Illuminate\Database\Query\{закрытие}()
#5 /home4/gogab4tr/bootstrapfriendly.com/vendor/laravel/framework/src/Illuminate/Database/Query/Builder. php(2401): Illuminate\Database\Query\Builder->onceWithColumns(Array, Object(Closure))
#6 /home4/gogab4tr/bootstrapfriendly.com/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(625): Illuminate\Database\Query\Builder->get(Array)
#7 /home4/gogab4tr/bootstrapfriendly.com/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(609): Illuminate\Database\Eloquent\Builder->getModels(массив)
#8 /home4/gogab4tr/bootstrapfriendly.com/app/Http/Controllers/FrontEnd/HomeController.php(41): Illuminate\Database\Eloquent\Builder->get()
#9 /home4/gogab4tr/bootstrapfriendly.com/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\Http\Controllers\FrontEnd\HomeController->blog_single('how-to-export- д...')
#10 /home4/gogab4tr/bootstrapfriendly.com/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(45): Illuminate\Routing\Controller->callAction('blog_single', Array)
#11 /home4/gogab4tr/bootstrapfriendly.com/vendor/laravel/framework/src/Illuminate/Routing/Route. php(261): Illuminate\Routing\ControllerDispatcher->dispatch(Object(Illuminate\Routing\Route), Object( App\Http\Controllers\FrontEnd\HomeController), 'blog_single')
#12 /home4/gogab4tr/bootstrapfriendly.com/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\Routing\Route->runController()
#13 /home4/gogab4tr/bootstrapfriendly.com/vendor/laravel/framework/src/Illuminate/Routing/Router.php(721): Illuminate\Routing\Route->run()
#14 /home4/gogab4tr/bootstrapfriendly.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Illuminate\Routing\Router->Illuminate\Routing\{close}(Object(Illuminate\Http \Запрос))
#15 /home4/gogab4tr/bootstrapfriendly.com/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{close}(Object(Illuminate \http\запрос))
#16 /home4/gogab4tr/bootstrapfriendly.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\Routing\Middleware\SubstituteBindings->handle(Object(Illuminate\Http\Request), Объект(Закрытие))
#17 /home4/gogab4tr/bootstrapfriendly. com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{close}(Object (Осветить\Http\Запрос))
#18 /home4/gogab4tr/bootstrapfriendly.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle(Object(Illuminate\Http\Request ), Объект(Замыкание))
# 19/home4/gogab4tr/bootstrapfriendly.com/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{close}(Object(Illuminate\Http \Запрос))
#20 /home4/gogab4tr/bootstrapfriendly.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\View\Middleware\ShareErrorsFromSession->handle(Object(Illuminate\Http\Request), Объект(Закрытие))
#21 /home4/gogab4tr/bootstrapfriendly.com/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{close}(Object(Illuminate \http\запрос))
#22 /home4/gogab4tr/bootstrapfriendly. com/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\Session\Middleware\StartSession->handleStatefulRequest(Object(Illuminate\Http\Request ), Объект(Подсветка\Сеанс\Хранилище), Объект(Закрытие))
# 23 /home4/gogab4tr/bootstrapfriendly.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\Session\Middleware\StartSession->handle(Object(Illuminate\Http\Request), Объект(Закрытие))
#24 /home4/gogab4tr/bootstrapfriendly.com/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{close}(Object(Illuminate \http\запрос))
#25 /home4/gogab4tr/bootstrapfriendly.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle(Object(Illuminate\Http\Request), Объект(Закрытие))
#26 /home4/gogab4tr/bootstrapfriendly.com/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies. php(67): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{close}(Object(Illuminate \http\запрос))
# 27 /home4/gogab4tr/bootstrapfriendly.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\Cookie\Middleware\EncryptCookies->handle(Object(Illuminate\Http\Request), Объект(Закрытие))
# 28 /home4/gogab4tr/bootstrapfriendly.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{close}(Object(Illuminate\Http \Запрос))
# 29/home4/gogab4tr/bootstrapfriendly.com/vendor/laravel/framework/src/Illuminate/Routing/Router.php(719): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#30 /home4/gogab4tr/bootstrapfriendly.com/vendor/laravel/framework/src/Illuminate/Routing/Router.php(698): Illuminate\Routing\Router->runRouteWithinStack(Object(Illuminate\Routing\Route), Object( Осветить\Http\Запрос))
#31 /home4/gogab4tr/bootstrapfriendly.com/vendor/laravel/framework/src/Illuminate/Routing/Router.php(662): Illuminate\Routing\Router->runRoute(Object(Illuminate\Http\Request), Object( Подсветка\Маршрутизация\Маршрут))
#32 /home4/gogab4tr/bootstrapfriendly. com/vendor/laravel/framework/src/Illuminate/Routing/Router.php(651): Illuminate\Routing\Router->dispatchToRoute(Object(Illuminate\Http\Request))
#33 /home4/gogab4tr/bootstrapfriendly.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(167): Illuminate\Routing\Router->dispatch(Object(Illuminate\Http\Request))
#34 /home4/gogab4tr/bootstrapfriendly.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{close}(Object (Осветить\Http\Запрос))
#35 /home4/gogab4tr/bootstrapfriendly.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{close}(Object (Осветить\Http\Запрос))
#36 /home4/gogab4tr/bootstrapfriendly.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(Object(Illuminate \Http\Request), Объект(Закрытие))
#37 /home4/gogab4tr/bootstrapfriendly. com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull->handle(Object(Illuminate\Http\Request ), Объект(Замыкание))
#38 /home4/gogab4tr/bootstrapfriendly.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{close}(Object (Осветить\Http\Запрос))
#39/home4/gogab4tr/bootstrapfriendly.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(Object(Illuminate\Http \Запрос), Объект(Закрытие))
#40 /home4/gogab4tr/bootstrapfriendly.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\Foundation\Http\Middleware\TrimStrings->handle(Object(Illuminate\Http\Request ), Объект(Замыкание))
#41 /home4/gogab4tr/bootstrapfriendly.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize. php(27): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{close}(Object (Осветить\Http\Запрос))
#42 /home4/gogab4tr/bootstrapfriendly.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\Foundation\Http\Middleware\ValidatePostSize->handle(Object(Illuminate\Http\Request ), Объект(Замыкание))
#43 /home4/gogab4tr/bootstrapfriendly.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(86): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{close}(Object (Осветить\Http\Запрос))
#44 /home4/gogab4tr/bootstrapfriendly.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance->handle(Object(Illuminate\Http\Request ), Объект(Замыкание))
#45 /home4/gogab4tr/bootstrapfriendly.com/vendor/fruitcake/laravel-cors/src/HandleCors.php(38): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{close}(Object(Illuminate\Http\Request ))
#46 /home4/gogab4tr/bootstrapfriendly. com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Fruitcake\Cors\HandleCors->handle(Object(Illuminate\Http\Request), Object( Закрытие))
#47 /home4/gogab4tr/bootstrapfriendly.com/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{замыкание}(Объект(Illuminate\Http\Request))
#48 /home4/gogab4tr/bootstrapfriendly.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\Http\Middleware\TrustProxies->handle(Object(Illuminate\Http\Request), Объект(Закрытие))
#49 /home4/gogab4tr/bootstrapfriendly.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{close}(Object(Illuminate\Http \Запрос))
#50 /home4/gogab4tr/bootstrapfriendly.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(142): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#51 /home4/gogab4tr/bootstrapfriendly.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.