本篇着重介绍phpexcel使用中涉及到的导出excel的操作方法,如果要了解phpexcel导入excel的操作方法,可以直接点击phpexcel导入.

在导入excel之前,需要确定导出的格式,是生成文件直接下载,还是生成文件保存在服务器,两种操作方法会有些差异。第二点是要确定生成的excel的版本,如果是2007的格式,就要用针对于excel2007的类,如果是03的,则用excel5这个类。

下面开始具体的操作,首先肯定是不能忘记包含phpexcel文件的。

 

$objPHPExcel = new PHPExcel();
$i=1;
$objPHPExcel->getDefaultStyle()->getFont()->setSize(12);
$objPHPExcel->getActiveSheet()->setCellValue('A1', 'ID');
$objPHPExcel->getActiveSheet()->setCellValue('B1', '姓名');
foreach ($rsdata as $r)
{
$objPHPExcel->getActiveSheet()->setCellValue('A'.$i, $i);
$objPHPExcel->getActiveSheet()->setCellValue('B'.$i, $r['name']);
$i++;
}
 
$objPHPExcel->getActiveSheet()->setTitle('名字');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
 
代码如上所示,第一句是新建一个phpexcel类,第二句设置文件内的字体大小,三四句则是设置表的标题,A1和B1是指坐标位置,当然你可以再往下增加。
循环部分就是往文件内写数据的部分了,$rsdata是要写入的数据,通过循环和控制变量$i的值,实现在对应坐标插入对应值。
倒数第二句是设置sheet的名字,倒数第一句创建文件。
 
数据写完了,下面是生成具体文件的部分,按上面的说法,一共有三种可能,我们一一来看一下。
1、生成文件直接下载
header('Content-Type: application/vnd.ms-excel;charset=UTF-8');
header('Content-Disposition: p_w_upload;filename="myfile.xls"');
header('Cache-Control: max-age=0');
$objWriter->save('php://output');
设置文件格式和编码,文件名,然后输出即可,这种情况下,文件生成完成后,直接就下载到本地了,不会在服务器上留下文件。
2、生成文件在服务器上供下载和浏览
$objWriter->save('filename.xls');
就这一句就可以了,文件会生成在当前的目录中,不过一般情况下,我们生成的文件肯定都是有专门的目录的,而且生成的文件目录我们也都是要保存起来,以便以后使用的,只要在这一句之外扩展就可以了,也是非常简单的,这里就不作过多说明。
 
原文连接:http://www.maimang.org/chengxu/phpexcel_shiyong.html