有马无忧

导航

基于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();

?>

完成,这样就简单多啦。。。

demo下载地址

ps:PHPExcel类库另外去下载到demo的当前目录。

posted on 2012-10-22 15:09  有马无忧  阅读(870)  评论(0)    收藏  举报