bassim / big-xlsx-bundle
Symfony2 Bundle for generating large multi-sheeted xlsx files with low memory usage
Installs: 15 799
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 1
Forks: 2
Open Issues: 0
Type:symfony-bundle
Requires
- php: >=5.3.3
- phpoffice/phpexcel: >=1.8.0
Requires (Dev)
- symfony/symfony: 2.3.*
This package is auto-updated.
Last update: 2024-11-07 04:01:45 UTC
README
Symfony2 Bundle for generating large multi-sheeted xlsx files with low memory usage.
This Bundle basically acts as a replacement for creating csv files with large datasets. This, because the CSV format can be troublesome when it comes to difference in default cell separators en line-endings on specific operating systems. Also, obviously, CSV cannot handle multiple sheets.
This bundle uses the 'codeplex/phpexcel' bundle but tries to get rid of the enormous execution time and memory consumption when one wants to store large datasets in a xlsx.
Installation
add this to your composer.json:
"bassim/big-xlsx-bundle": "dev-master"
add this to your AppKernel.php
new Bassim\BigXlsxBundle\BassimBigXlsxBundle(),
Basic Usage
/** @var $service BigXlsxService */
$service = $container->get('bassim_big_xlsx.service');
$data[] = array("id","name");
for ($i=0;$i<1;$i++) {
$data[] = array($i, "name_".$i);
}
$service->addSheet(0, "test Sheet_0", $data);
$file = $service->getFile();
Adding a custom sheet
/** @var $service BigXlsxService */
$service = $container->get('bassim_big_xlsx.service');
$data[] = array("id","name");
for ($i=0;$i<1;$i++) {
$data[] = array($i, "name_".$i);
}
$service->addSheet(0, "test Sheet_0", $data);
$objPHPExcel = $service->getPHPExcel();
//add custom sheet
$objPHPExcel->createSheet(1);
$objPHPExcel->setActiveSheetIndex(1);
$objPHPExcel->getActiveSheet()->setTitle("test");
// ....
$file = $service->getFile();