Description: Exporting articles, forums, users, products, orders, and payments from a Cotonti-based website database to Excel
The "excel_export" plugin for Cotonti CMF is a simple and universal tool that allows you to export data from any database table into an Excel (.xlsx) file.
After export, the file is automatically downloaded to the user's computer and also saved in the plugins/excel_export/uploads/ directory.
The plugin page displays a list of previously created export files with the ability to download them again.
The plugin uses the PhpSpreadsheet library to generate Excel files and works without Composer.
-
To obtain exact table names when you do not currently have direct access to the database, you can use a similar tool called "DB Structure Viewer" for Cotonti CMF.
It provides flexible tools for viewing and exporting database fields, but with two key differences:- it does not use external libraries;
- it does not export to Excel.
This tool displays all tables and fields in the database and can export data to SQL, CSV, JSON, and PHP (as small arrays), with a preview of data in all fields of all database tables. "DB Structure Viewer" and "Export to Excel" are similar but serve different purposes.
-
Separate plugins are available for data import. Visit the Cotonti CMF Extensions Marketplace or browse my projects on GitHub.
- Dynamic selection of required fields from the selected table for export.
- Custom column names for the first row in the resulting Excel file.
- Limiting the number of exported rows (configurable in plugin settings).
- Saving exported files in the
uploads/directory with the ability to download them later or simultaneously. - Administrative interface in Cotonti with a field selection form and a list of previous export operations with download links.
- Cotonti CMF: version 0.9.26 or higher.
- PHP: version 8.4 or higher.
- Write permissions for the
logs/anduploads/directories. - Web server access to the
uploads/directory.
- PhpSpreadsheet 1.23.0 — generation of Excel (.xlsx) files.
- ZipStream 2.4.0 — creation of ZIP archives for .xlsx files.
- myclabs/php-enum 1.8.4 — ZipStream dependency for enum handling.
- psr/simple-cache — caching interface (PhpSpreadsheet dependency).
-
PhpSpreadsheet 1.23.0
- GitHub release: https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/1.23.0
- Location:
plugins/excel_export/lib/phpspreadsheet/src/PhpOffice/PhpSpreadsheet/
-
ZipStream 2.4.0
- GitHub release: https://github.com/maennchen/ZipStream-PHP/releases/tag/2.4.0
- Location:
plugins/excel_export/lib/zipstream/src/
-
myclabs/php-enum 1.8.4
- GitHub release: https://github.com/myclabs/php-enum/releases/tag/1.8.4
- Location:
plugins/excel_export/lib/php-enum/src/
-
psr/simple-cache
- GitHub repository: https://github.com/php-fig/simple-cache
- Location:
plugins/excel_export/lib/psr/simple-cache/src/Psr/SimpleCache/
/plugins/excel_export/
├── excel_export.setup.php # Plugin setup and configuration file
├── excel_export.tools.php # Main admin tool file
├── excel_export.global.php # Global hook connection (required)
├── inc/
│ └── excel_export.functions.php # Export logic and library autoloaders
├── lib/
│ ├── phpspreadsheet/
│ ├── psr/simple-cache/
│ ├── zipstream/
│ └── php-enum/
├── logs/
│ └── export.log # Export debug log
├── tpl/
│ └── excel_export.tools.tpl # Admin interface template
└── uploads/ # Exported Excel files
- Download the plugin source code and extract the archive.
- Copy the
excel_exportdirectory into the site'splugins/directory (e.g./home/var/public_html/plugins/). - It is recommended to upload files using FileZilla or another FTP client that allows you to verify file integrity.
- Set permissions to
755forplugins/excel_export/logs. - Set permissions to
755forplugins/excel_export/uploads.
- Go to the admin panel: Site Management → Extensions.
- Find "Export to Excel via PhpSpreadsheet".
- Click Install.
Plugin configuration:
- export_table: database table name without prefix (default:
pages, corresponds tocot_pages). - max_rows: maximum number of exported rows (default: 100, set to
0for unlimited). - Clear cache: Site Management → Cache → Clear cache.
- Ensure that
uploads/is accessible via the web (e.g. https://example.com/plugins/excel_export/uploads/). - If access is denied (403), adjust your web server or
.htaccessrules.
Specify the database table (without prefix) in plugin settings, such as pages, forum_posts, users, or market.
Admin panel → Extensions → Export to Excel via PhpSpreadsheet → Administration.
Direct URL example: https://example.com/admin.php?m=other&p=excel_export
- The page displays all fields of the selected table.
- Check the fields you want to export.
- Optionally set custom column names (uppercase field names are used by default).
- Click Export.
- The
.xlsxfile is downloaded automatically. - The same file is saved in
plugins/excel_export/uploads/.
- The Previous Exports section lists all generated
.xlsxfiles. - Click a file name to download it again.
The log file is stored at plugins/excel_export/logs/export.log and is used for debugging.
[2026-02-02 12:04:18] Starting export process
[2026-02-02 12:04:18] Target table: 'pages', Expected table: 'cot_pages'
[2026-02-02 12:04:18] Selected fields: page_id, page_title
[2026-02-02 12:04:18] Executing query: SELECT page_id, page_title FROM cot_pages LIMIT 100
[2026-02-02 12:04:18] Data fetched: X rows
[2026-02-02 12:04:18] Creating new Spreadsheet
[2026-02-02 12:04:18] Setting headers
[2026-02-02 12:04:18] Filling data
[2026-02-02 12:04:18] Generating XLSX to file: /plugins/excel_export/uploads/export_2026-02-02_12-04-18.xlsx
[2026-02-02 12:04:18] File generated successfully
- Name: Export to Excel via PhpSpreadsheet
- Version: 2.0.1
- Initial release: March 16, 2025
- Last update: February 2, 2026
- Author: webitproff
- Package: excel_export
- License: BSD
- GitHub repository: https://github.com/webitproff/cot-excel_export
- Support forum: https://abuyfile.com/forums/cotonti/custom/plugs/topic124
- Hire the author: https://abuyfile.com/users/webitproff
Описание: Экспорт в Excel статей, форумов, пользователей, товаров, заказов и платежей из БД сайта на Cotonti
Плагин "excel_export" для Cotonti CMF - это простой и универсальный инструмент, который позволяет экспортировать данные из любой таблицы базы данных в файл формата Excel (.xlsx).
После экспорта файл автоматически скачивается на компьютер пользователя и сохраняется в папке plugins/excel_export/uploads/.
На странице плагина отображается список ранее созданных файлов экспорта с возможностью их скачивания.
Плагин использует библиотеку PhpSpreadsheet для генерации файлов Excel и работает без Composer.
- Для получения точных названий таблиц, если у вас просто нет к ним доступа здесь и сейчас, можно использовать похожий инструмент "DB Structure Viewer" для Cotonti CMF, который также предоставляет гибкие инструменты для просмотра и экспорта полей из базы данных, но с важными двумя отличиями:
- не использует внешних библиотек;
- не экспортирует в Excel.
Он отображает все таблицы и поля в БД и может экспортировать в sql, csv, json, а также в php в виде небольших массивов, с предварительным просмотром данных в полях всех таблиц вашей БД. "DB Structure Viewer" и "Export to Excel" это похожие, но разные инструменты для разных задач.
- Для импорта данных разработанны другие плагины, посетите Маркетплейс расширений для Cotonti CMF или смотрите мои разработки в репозиториях на GitHub.
- Динамический выбор нужных полей из нужной таблицы для экспорта.
- Настройка пользовательских названий колонок первой строки в итоговом файле Excel.
- Ограничение количества экспортируемых строк (настраивается в конфигурации).
- Сохранение экспортированных файлов в папке
uploads/с возможностью последующего и/или одновременного скачивания. - Интерфейс в админке Cotonti с формой выбора полей и списком предыдущих операций экспорта со ссылками на сохраненные файлы.
Cotonti: Версия 0.9.26+. PHP: 8.4+. Права записи в папки logs/ и uploads/. Доступ к uploads/ через веб-сервер.
- PhpSpreadsheet 1.23.0 — генерация файлов Excel (.xlsx).
- ZipStream 2.4.0 — создание ZIP-архивов для .xlsx файлов.
- myclabs/php-enum 1.8.4 — зависимость ZipStream для работы с перечислениями.
- psr/simple-cache — кэширование (зависимость PhpSpreadsheet).
- PhpSpreadsheet 1.23.0:
- Репозиторий на GitHub файл
PhpSpreadsheet-1.23.0.zip. - Расположение в структуре плагина
plugins/excel_export/lib/phpspreadsheet/src/PhpOffice/PhpSpreadsheet/.
- Репозиторий на GitHub файл
- ZipStream 2.4.0:
- Репозиторий на GitHub файл
zipstream-php-2.4.0.zip. - Расположение в структуре плагина
plugins/excel_export/lib/zipstream/src/.
- Репозиторий на GitHub файл
- myclabs/php-enum 1.8.4:
- Репозиторий на GitHub файл
php-enum-1.8.4.zip. - Расположение в структуре плагина
plugins/excel_export/lib/php-enum/src/.
- Репозиторий на GitHub файл
- psr/simple-cache:
- Репозиторий на GitHub или используйте версию из PhpSpreadsheet.
- Расположение в структуре плагина
plugins/excel_export/lib/psr/simple-cache/src/Psr/SimpleCache/.
└──/plugins/excel_export/
├── excel_export.setup.php # Файл конфигурации и установки плагина
├── excel_export.tools.php # Основной файл инструмента админки
├── excel_export.global.php # Connect to hook "global" in Cotonti Core. Here is Required!
├── inc/
│ └── excel_export.functions.php # Функции экспорта и автозагрузка библиотек
├── lib/
│ ├── phpspreadsheet/
│ │ └── src/PhpOffice/PhpSpreadsheet/ # PhpSpreadsheet 1.23.0
│ ├── psr/
│ │ └── simple-cache/src/Psr/SimpleCache/ # PSR Simple Cache
│ ├── zipstream/
│ │ └── src/ # ZipStream 2.4.0
│ └── php-enum/
│ └── src/ # myclabs/php-enum 1.8.4
├── logs/
│ └── export.log # Лог экспорта для отладки
├── tpl/
│ └── excel_export.tools.tpl # Шаблон формы и списка файлов
└── uploads/ # Папка для сохранения экспортированных файлов
- Скачать исходный код плагина и распаковать архив.
- Скопировать папку
excel_exportв папкуpluginsв корне вашего сайта, например/home/var/public_html/plugins/. - Копировать рекомендуется через FileZilla или другой инструмент, который позволяет контролировать потерю и пропуск файлов. Пропущенные файлы обязательно перезакачать.
- При закачивание файлов
- chmod 755 на папку
plugins/excel_export/logs. - chmod 755 на папку
plugins/excel_export/uploads.
Зайдите в админку: "Управление сайтом / Расширения".
Найдите "Export to Excel via PhpSpreadsheet" в списке.
Нажмите "Установить".
**Настройки плагина** для изменения конфигурации:
export_table: **Таблица, которую будете использовать для экспорта** (по умолчанию pages, соответствует cot_pages).
max_rows: Максимальное количество строк для экспорта (по умолчанию 100, установите 0 для снятия ограничения).
Очистите кэш: "Управление сайтом / Кэш" → "Очистить кэш".
Убедитесь, что папка uploads/ доступна через веб (например, https://example.com/plugins/excel_export/uploads/).
Если доступ запрещён (403), настройте веб-сервер (например, уберите запрет в .htaccess).
Прежде всего, в настройках конфигурации плагина нужно указать таблицу базы данных вашего сайта на Cotonti, которую будете использовать для экспорта.
Имя таблицы, указывается без префикса, например: pages, forum_posts, users, market или любая другая, одна на ваш выбор, которая вам нужна для дальнейше работы в Excel после экспорта.
Управление сайтом / Расширения / Экспорт в Excel через PhpSpreadsheet (карточка расширения). Ссылка "Администрирование" ведёт на страницу: https://example.com/admin.php?m=other&p=excel_export где расположен интерфейс и инструменты экспорта.
Выберите поля для экспорта: На странице отображается таблица со всеми полями, например, при экспорте из cot_pages (например, page_id, page_title, page_text и т.д.). Поставьте галочку напротив полей, которые хотите экспортировать. (Опционально) Введите пользовательские названия колонок в поле "Custom Name" (если пусто, используется имя поля в верхнем регистре, например, PAGE_ID).
Экспортируйте данные: Нажмите кнопку "Экспортировать". Файл .xlsx (например, export_2025-03-16_13-XX-XX.xlsx) скачается на ваш компьютер. Этот же файл сохранится в папке plugins/excel_export/uploads/.
Просмотрите предыдущие экспорты: Ниже формы выбора полей отображается блок "Previous Exports". В нём перечислены все .xlsx файлы из uploads/ с названием, размером и датой создания. Щёлкните по названию файла, чтобы скачать его повторно.
Лог записывается в plugins/excel_export/logs/export.log для отладки:
[2026-02-02 12:04:18] Starting export process
[2026-02-02 12:04:18] Target table: 'pages', Expected table: 'cot_pages'
[2026-02-02 12:04:18] Selected fields: page_id, page_title
[2026-02-02 12:04:18] Executing query: SELECT page_id, page_title FROM cot_pages LIMIT 100
[2026-02-02 12:04:18] Data fetched: X rows
[2026-02-02 12:04:18] Creating new Spreadsheet
[2026-02-02 12:04:18] Setting headers
[2026-02-02 12:04:18] Filling data
[2026-02-02 12:04:18] Generating XLSX to file: /home/var/public_html/plugins/excel_export/uploads/export_2026-02-02_12-04-18.xlsx
[2026-02-02 12:04:18] File generated successfully: /home/var/public_html/plugins/excel_export/uploads/export_2026-02-02_12-04-18.xlsx
Название: Export to Excel via PhpSpreadsheet
Версия: 2.0.1
Дата создания: 16 марта 2025
Дата обновления: 02 февраль 2026
Автор: webitproff
package: excel_export
copyright: Copyright (c) webitproff 2026 | https://github.com/webitproff
license: BSD
Публичный репозиторий на GitHub с открытым исходным кодом
