dev-master
9999999-devPHPExcel wrapper for Yii Framework with support for data providers and models
The Requires
- php >=5.4.0
- yiisoft/yii 1.*
- phpoffice/phpexcel 1.*
The Development Requires
csv excel xls yii export
PHPExcel wrapper for Yii Framework with support for data providers and models
It supports export for IDataProvider objects, array of models and raw data arrays to .xls, .xlsx, .html and .csv formats., (*1)
(new Excel) ->worksheet('Worksheet #1', [['col1', 'col2'], ['cell11', 'cell12'], ['cell21', 'cell22']], function (\PHPExcel_Worksheet $worksheet, array $data) { $worksheet->fromArray($data); } ) ->worksheet('Worksheet #2', new \CActiveDataProvider('User')) ->export('/tmp/', 'export.xlsx');
export()
has 2 optional arguments:, (*2)
php://output
Export_{timestamp}.csv
(new Excel) ->worksheet('Worksheet #1', new \CActiveDataProvider('User')) ->export('/tmp/', 'export.xlsx');
Supported formats:, (*3)
.xls
) Excel 95 and above.xlsx
) Excel 2007 and above.html
).csv
)To add a sheet to the workbook call worksheet()
with arguments:, (*4)
worksheet()
$arrayOfValues = [['col1', 'col2'], ['item11', 'item12'], ['item21', 'item22']]; $arrayOfModels = \CActiveRecord::model($this->modelClass)->findAll(); $isExported = (new \Excel) ->worksheet('Array of values', $arrayOfValues) ->worksheet('Array of values + callback', $arrayOfValues, function (\PHPExcel_Worksheet $worksheet, array $data) { $worksheet->fromArray($data); } ) ->worksheet('Array of models', $arrayOfModels) ->worksheet('Array of models + callback', $arrayOfModels, function (\PHPExcel_Worksheet $worksheet, array $data) { $_data = []; foreach ($data as $model) { if ($model instanceof \CActiveRecord) { $_data[] = $model->getAttributes(); } } $worksheet->fromArray($_data); } ) ->worksheet('CArrayDataProvider of raw data', new \CArrayDataProvider($arrayOfValues)) ->worksheet('CArrayDataProvider of models', new \CArrayDataProvider($arrayOfModels)) ->worksheet('CActiveDataProvider + callback', new \CActiveDataProvider($this->modelClass), function (\PHPExcel_Worksheet $worksheet, \CActiveDataProvider $dataProvider) { $_data[] = $dataProvider->model->attributeNames(); foreach ($dataProvider->getData() as $model) { if ($model instanceof \CActiveRecord) { $_data[] = $model->getAttributes(); } } $worksheet->fromArray($_data); } ) ->export('worksheets.xlsx', $this->savePath);
See tests
for more examples., (*5)
PHPExcel wrapper for Yii Framework with support for data providers and models
csv excel xls yii export