ruskid/yii2-excel-exporter

Active Records 导出为 CSV 的辅助工具

安装: 995

依赖: 0

建议: 0

安全: 0

星星: 0

关注者: 2

分支: 0

开放问题: 0

类型:yii2-extension

dev-master 2015-10-27 14:41 UTC

This package is auto-updated.

Last update: 2024-08-27 09:16:23 UTC


README

此工具可以将 Active Records 导出为 Excel 文件

安装

安装此扩展的首选方法是使用 composer

运行以下命令之一:

php composer.phar require --prefer-dist ruskid/yii2-excel-exporter "dev-master"

或者

"ruskid/yii2-excel-exporter": "dev-master"

将以下内容添加到您的 composer.json 文件的 require 部分:

用法

 $exporter = new CSVExporter;
//Add headers A1-A3
$exporter->setCellValue('A1', 'Subcategoria');
$exporter->setCellValue('A2', 'Propietario');
$exporter->setCellValue('A3', 'Escenario');
//Apply header styles for A1-A3
for ($i = 1; $i <= 3; $i++) {
    $exporter->setCellStyleFromArray('A' . $i, $exporter->headerStyle);
}
//Set values to B1-B3
$exporter->setCellValue('B1', $model->name);
$exporter->setCellValue('B2', $model->propietario);
$exporter->setCellValue('B3', $model->escenario);

//Set server data. start from line A11. will return next free cell index
$nextCellIndex = $exporter->setCellData('A11', $model->servers, [
    [
        'header' => Yii::t('app', 'HOSTNAME'),
        'value' => function($array) {
            return $array['HOSTNAME'];
        }
    ],
    [
        'header' => Yii::t('app', 'DESC_CATALOGO'),
        'value' => function($array) {
            return $array['DESC_CATALOGO'];
        }
    ],
]);

//set users from next cell free cell index
$users = \app\models\User::find()->all();
$exporter->setCellData($nextCellIndex, $users, [
    [
        'header' => Yii::t('app', 'Login'),
        'value' => function($object) {
            return $object->username;
        }
    ],
]);

$exporter->filename = 'test';
return $exporter->export();
  • 您还可以添加 样式,请参阅 style 和 headerStyle 参数。