Выгрузка в 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.