vulehd / phpreport

PHPReport

dev-master 2015-06-17 11:08 UTC

This package is not auto-updated.

Last update: 2024-09-28 17:12:40 UTC


README

PHPReport 是一个用于从 PHP 中构建和导出报告的类。它基于强大的 PHPExcel 库,并包括导出到流行的格式,如 HTML、Excel 或 PDF。

特点

  • 易于使用
  • 多种方式自定义输入数据
  • 基于预定义模板构建报告
  • 导出到 HTML、Excel(xlsx 和 xls)和 PDF

安装

它基于 PHPExcel,因此请下载它并将其解压到 PHPReport.php 文件旁边。要开始使用它,只需在您的脚本中包含 PHPReport.php 并遵循文档即可。

用法和示例

基本上,有两种方式可以构建一个报告。

从头开始构建

PHPReport 做所有的工作,您只需提供数据即可,如下所示

$R=new PHPReport();
$R->load(array(
            'id'=>'product',
            'data'=>array(
                        array('Some product',23.99),
                        array('Other product',5.25),
                        array('Third product',0.20)
                )
            )
        );

$R->render();

这对于导出表格数据非常棒。输入数据可以进一步格式化、分组和自定义。请参阅 wiki。

从模板构建

模板通常是某些已经格式化并包含数据占位符的 Excel 文件。占位符有两种类型:静态和动态。静态占位符例如日期、城市或客户名称等数据。动态占位符例如产品列表,具有可变行数。

$R=new PHPReport(array('template'=>'invoice_template.xls'));
$R->load(array(
		array(
				'id'=>'invoice',
				'data'=>array(
					'date'=>date('Y-m-d'),
					'number'=>'000312',
					'customer_id'=>'512',
					'expiration_date'=>date('Y-m-d',strtotime('+30day')),
					'name'=>'John Doe',
					'company'=>'Example, inc',
					'address'=>'Some address',
					'city'=>'Gotham City',
					'zip'=>'0123',
					'phone'=>'+123456'
				),
				'format'=>array(
					'date'=>array('datetime'=>'d/m/Y'),
					'expiration_date'=>array('datetime'=>'d/m/Y')
				)
			),
		array(
				'id'=>'product',
				'data'=>array(
					array('description'=>'Some product','price'=>23.99,'total'=>23.99),
					array('description'=>'Other product','price'=>5.25,'total'=>2.25)
				),
				'repeat'=>true,
				'format'=>array(
					'price'=>array('number'=>array('prefix'=>'$','decimals'=>2)),
					'total'=>array('number'=>array('prefix'=>'$','decimals'=>2))
				)
			)
		)
	);

$R->render();

这些报告非常适合复杂的导出,如发票。请参阅 wiki 以获取更多示例。