基于PHPExcel的excel导出简化
前段时间做项目时用到了excel导出,需要合并单元格的功能,之前写的一个简单excel导出程序满足不了这个功能。于是网上找了强大的PHPExcel类库,可以生成任何复杂的excel格式。但问题是,复杂的数据格式,代码段并不简单,每次要增加或减少一个数据列时,我就要修改所有的的列,非常的反锁,而且经常出错。为解决该问题,干脆把生成excel的代码重新封装了一下。现在拿出来跟大家一起分享,使用代码如下:
<?php /** * 文件描述 * * @copyright 2012 mwg0304@163.com * @author mwg * @createdate 2012-10-22 * @version $Id$ */ include('ExcelExport.class.php'); $arr[] = array( array('val'=>'这是第一个excel导出功能', 'font-size'=>18,'colspan'=>4),//colspan参考table中的参数,你懂的 ); $arr[] = array( array('val'=>'序号','align'=>'center','width'=>10),//align:单元格位置,width:单元格宽度 array('val'=>'标题','align'=>'center','width'=>40), array('val'=>'描述','align'=>'center','width'=>50), array('val'=>'明细','align'=>'center','width'=>30), array('val'=>'备注','align'=>'center','width'=>30), ); $arr[] = array( array('val'=>'1','rowspan'=>3),//rowspan参考table的参数,你懂的 array('val'=>'商品1','rowspan'=>3), array('val'=>'这是商品1的描述','rowspan'=>3), array('val'=>'1001'), array('val'=>'这是备注信息1'), ); $arr[] = array( array('val'=>null),//null表示当前单元格已经被行合并 array('val'=>null), array('val'=>null), array('val'=>'1002'), ); $arr[] = array( array('val'=>null), array('val'=>null), array('val'=>null), array('val'=>'1003'), array('val'=>'这是备注信息3'), ); $arr[] = array( array('val'=>'2','rowspan'=>3), array('val'=>'商品2','rowspan'=>3), array('val'=>'这是商品2的描述','rowspan'=>3), array('val'=>'2001'), ); $arr[] = array( array('val'=>null), array('val'=>null), array('val'=>null), array('val'=>'2002'), ); $arr[] = array( array('val'=>null), array('val'=>null), array('val'=>null), array('val'=>'2003'), ); $arr[] = array( array('val'=>'3'), array('val'=>'商品3'), array('val'=>'这是商品3的描述'), array('val'=>'3002'), ); $excel = new ExcelExport('excel导出'); foreach($arr as $val){ $excel->setCells($val); } $excel->save(); ?>
完成,这样就简单多啦。。。
ps:PHPExcel类库另外去下载到demo的当前目录。
浙公网安备 33010602011771号