thinkphp使用 phpexcel导出excel

来源:互联网 发布:ps软件破解版 编辑:程序博客网 时间:2024/05/17 23:53

附上我在开发中所写一些代码.

public function exportExcel(){

//首先将要写入表格的数据都读入一个数组,比如 $stulist

//读入操作这里省略 ……

//以下开始写入excel
Ext(“PHPExcel”);  //加载 phpexcel类,根据自己存放类的位置,换为自己的加载方式
$objPHPExcel = new PHPExcel();
$objPHPExcel->getProperties()->setCreator(“Da”)

->setLastModifiedBy(“Da”)

->setTitle(“Office 2007 XLSX Test Document”)

->setSubject(“Office 2007 XLSX Test Document”)

->setDescription(“Test document for Office 2007 XLSX, generated  using PHP classes.”)

->setKeywords(“office 2007 openxml php”)

->setCategory(“Test result file”);

$objPHPExcel->setActiveSheetIndex(0);   //这里是表,即sheet,一个excel文件可以有很多个表(sheet)
$objPHPExcel->getActiveSheet(0)->setTitle($cname);  //sheet的标题
//$objActSheet = $objExcel->getActiveSheet();

//设置宽度  默认大小  字体
//$objPHPExcel->getActiveSheet()->getColumnDimension(‘A’)->setWidth(15);  //可以单独设置某一列的宽度
//$objPHPExcel->getActiveSheet()->getColumnDimension(‘B’)->setWidth(15);
$objPHPExcel->getActiveSheet()->getDefaultColumnDimension()->setWidth(15);  //设置全部的列宽度
$objPHPExcel->getActiveSheet()->getDefaultStyle()->getFont()->setName(‘Arial’);  //设置字体
$objPHPExcel->getActiveSheet()->getDefaultStyle()->getFont()->setSize(10);          //设置文字大小

//第一行的列名称
$objPHPExcel->getActiveSheet(0)->setCellValue(‘A1′,’学号’);
$objPHPExcel->getActiveSheet(0)->setCellValue(‘B1′,’姓名’);
$objPHPExcel->getActiveSheet(0)->setCellValue(‘C1′,’参与项目数’);
$objPHPExcel->getActiveSheet(0)->setCellValue(‘D1′,’完成项目数’);
spl_autoload_register(array(‘Think’,'autoload’));
foreach($stulist as $key => $value){
static $i = 2;
$name[$i]['username']     =  $value['username'];
$name[$i]['realname']     =  $value['realname'];
$name[$i]['joined']          =  $value['joined'];
$name[$i]['finished']       =  $value['finished'];

$objPHPExcel->getActiveSheet(0)->setCellValue(‘A’ . $i, $name[$i]['username']);
$objPHPExcel->getActiveSheet(0)->setCellValue(‘B’ . $i, $name[$i]['realname']);
$objPHPExcel->getActiveSheet(0)->setCellValue(‘C’ . $i, $name[$i]['joined']);
$objPHPExcel->getActiveSheet(0)->setCellValue(‘D’ . $i, $name[$i]['finished']);
$i++;
}

header(‘Content-Type: application/vnd.ms-excel’);
header(‘Content-Disposition: attachment;filename=’.$cname.’.xls’);
header(‘Cache-Control: max-age=0′);

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, ‘Excel5′);
$objWriter->save(‘php://output’);       //这里生成excel后会弹出下载
exit;

}

 

© 2012, 睿风. 版权所有.

本文固定链接: http://blog.rifun.net/2012-03-04/279.html | 睿风

原创粉丝点击