nicolastavella/phpreport

用于从PHP生成报告的库

dev-master 2017-10-23 15:01 UTC

This package is not auto-updated.

Last update: 2024-09-29 03:16:16 UTC


README

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

特性

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

安装

安装composer,并运行composer update来安装所需的PHPExcel依赖项

用法和示例

基本来说,有两种方法来构建报告。

从头开始构建

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以获取更多示例。