bassim/big-xlsx-bundle

Symfony2 Bundle 用于生成大型多工作表 xlsx 文件,内存使用低

安装次数: 15,790

依赖者: 0

建议者: 0

安全: 0

星标: 3

关注者: 1

分支: 2

开放问题: 0

类型:symfony-bundle

v0.2 2015-05-07 09:11 UTC

This package is auto-updated.

Last update: 2024-09-07 03:43:09 UTC


README

Symfony2 Bundle 用于生成大型多工作表 xlsx 文件,内存使用低。

这个 Bundle 基本上充当了创建大型数据集 csv 文件的替代品。这是因为 CSV 格式在特定操作系统中默认单元格分隔符和行结束符不同时可能会出现问题。显然,CSV 无法处理多个工作表。

这个 Bundle 使用了 'codeplex/phpexcel' Bundle,但试图减少在将大型数据集存储为 xlsx 时的大量执行时间和内存消耗。

安装

将此添加到您的 composer.json 中

	"bassim/big-xlsx-bundle": "dev-master"

将此添加到您的 AppKernel.php 中

	new Bassim\BigXlsxBundle\BassimBigXlsxBundle(),

基本用法

	/** @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();

添加自定义工作表

   /** @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();