1. Go to this page and download the library: Download phpnt/yii2-export library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
phpnt / yii2-export example snippets
// в файле настройки приложения (main.php - Advanced или web.php - Basic) добавляется класс в controllerMap
...
'controllerMap' => [
'export' => 'phpnt\exportFile\controllers\ExportController'
],
'components' => [
...
],
...
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,
]);
}
...
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, // фильтр
])
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')
])
php composer.phar
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.