phpnt/yii2-export
Composer 安装命令:
composer require phpnt/yii2-export
包简介
Yii2 It saves data in xls, csv, word, html, pdf files.
README 文档
README
Описание:
Сохраняет данные в xls, csv, word, html, pdf файлы. Если, в представлении, модель Search использовалась вместе с DataProvider для вывода GridView и применялся фильтр, то к сохраняемым данным будет также применен этот фильтр.
Для CSV файлов предусмотрен выбор кодировок 'UTF-8' (по умолчанию) и 'Windows-1251'.
Инструкция для русификации PDF файлов находится в файле README, в папке /dompdf_ru.
DEMO
Социальные сети:
Установка:
php composer.phar require "phpnt/yii2-export" "*"
или
composer require phpnt/yii2-export
или добавить в composer.json файл
"phpnt/yii2-export": "*"
Использование:
Подключение:
// в файле настройки приложения (main.php - Advanced или web.php - Basic) добавляется класс в controllerMap ... 'controllerMap' => [ 'export' => 'phpnt\exportFile\controllers\ExportController' ], 'components' => [ ... ],
В любой модели Search:
... class GeoCitySearch extends GeoCity { ... // указываются свойства, которые нужно выводить в файлы public function exportFields() { return [ 'id' => function ($model) { /* @var $model User */ return $model->id; }, 'name_ru', 'region_id' => function ($model) { /* @var $model GeoCity */ if (isset($model->region->name_ru)) { return $model->region->name_ru; } return false; }, 'lat', 'lon' ]; } ... }
Контроллер:
... // cоздается стандартное действие для вывода данных public function actionExportFile() { $searchModel = new GeoCitySearch(); $dataProvider = $searchModel->search(\Yii::$app->request->queryParams); return $this->render('export-file', [ 'searchModel' => $searchModel, 'dataProvider' => $dataProvider, ]); } ...
Представление 1:
use phpnt\exportFile\ExportFile; use yii\grid\GridView; /* @var $searchModel \common\models\GeoCitySearch */ /* @var $dataProvider yii\data\ActiveDataProvider */ // минимальные настройки echo ExportFile::widget([ 'model' => 'common\models\GeoCitySearch', // путь к модели 'searchAttributes' => $searchModel, // фильтр ]) ?> <?= GridView::widget([ 'dataProvider' => $dataProvider, 'filterModel' => $searchModel, 'columns' => [ ... ] ]); ?>
Представление 2:
use phpnt\exportFile\ExportFile; use yii\grid\GridView; /* @var $searchModel \common\models\GeoCitySearch */ /* @var $dataProvider yii\data\ActiveDataProvider */ // максимальные настройки echo ExportFile::widget([ 'model' => 'common\models\search\UserSearch', // путь к модели 'title' => 'Заголовок документа', 'queryParams' => Yii::$app->request->queryParams, 'getAll' => true, // все записи - true, учитывать пагинацию - false 'csvCharset' => 'Windows-1251', // кодировка csv файла: 'UTF-8' (по умолчанию) или 'Windows-1251' 'buttonClass' => 'btn btn-primary', // класс кнопки 'blockClass' => 'pull-left', // класс блока в котором кнопка 'blockStyle' => 'padding: 5px;', // стиль блока в котором кнопка // экспорт в следующие файлы (true - разрешить, false - запретить) 'xls' => true, 'csv' => true, 'word' => true, 'html' => true, 'pdf' => true, // шаблоны кнопок 'xlsButtonName' => Yii::t('app', 'MS Excel'), 'csvButtonName' => Yii::t('app', 'CSV'), 'wordButtonName' => Yii::t('app', 'MS Word'), 'htmlButtonName' => Yii::t('app', 'HTML'), 'pdfButtonName' => Yii::t('app', 'PDF') ]) ?> <?= GridView::widget([ 'dataProvider' => $dataProvider, 'filterModel' => $searchModel, 'columns' => [ ... ] ]); ?>
Документация (примеры):
PHPExcel
PHPWord
dompdf
Версия:
0.0.2
Лицензия:
MIT
phpnt/yii2-export 适用场景与选型建议
phpnt/yii2-export 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 8.93k 次下载、GitHub Stars 达 15, 最近一次更新时间为 2016 年 07 月 09 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「excel」 「xls」 「csv」 「word」 「pdf」 「html」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 phpnt/yii2-export 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 phpnt/yii2-export 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 phpnt/yii2-export 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
This Symfony bundle integrates PhpSpreadsheet into Symfony using Twig.
PHPExcel - OpenXML - Read, Create and Write Spreadsheet documents in PHP - Spreadsheet engine
PHPExcel - OpenXML - Read, Create and Write Spreadsheet documents in PHP - Spreadsheet engine
Yii2 export extension
PHP Excel Library
laravel facade to read/write csv file
统计信息
- 总下载量: 8.93k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 15
- 点击次数: 15
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2016-07-09