您的位置:首页 > 编程语言 > PHP开发

tp中phpexcel导出实例

2012-12-11 10:11 176 查看
public function phpexcel(){
//测试$this->display("User:xx");//跨模块分配页面User模块xx.html

// xx\ThinkPHP/Extend/Vendor/Excel/PHPExcel.php
Vendor('Excel.PHPExcel'); //导入thinkphp第三方类库
//创建一个读Excel模板的对象
$objReader=PHPExcel_IOFactory::createReader('Excel5');
$objPHPExcel = $objReader->load ("template.xls");//读取模板,模版放在根目录
//获取当前活动的表
$objActSheet=$objPHPExcel->getActiveSheet();
$objActSheet->setTitle('xxx');//设置excel的标题
$objActSheet->setCellValue('A1','患者信息导出');
$objActSheet->setCellValue('A2','范围:'.time().'--'.time()+5000);
$objActSheet->setCellValue('F2','导出时间:'.date('Y-m-d H:i:s'));

//现在开始输出列头了
$objActSheet->setCellValue('A3','编号');
$objActSheet->setCellValue('B3','姓名');
$objActSheet->setCellValue('C3','性别');

//具体有多少列,有多少就写多少,跟下面的填充数据对应上就可以
//现在就开始填充数据了 (从数据库中)
$baseRow = 4; //数据从N-1行开始往下输出 这里是避免头信息被覆盖
$list=array(
array('id'=>'似懂非懂','name'=>'的身份','sex'=>'好好'),
array('id'=>'体育静态','name'=>'全文','sex'=>'好那么好'),
array('id'=>'他','name'=>'啥都','sex'=>'vb'),
array('id'=>'大范甘迪','name'=>'后感觉','sex'=>'刚回家'),
array('id'=>'阿瑟斯','name'=>'好','sex'=>'如啼眼'),
array('id'=>'为二位','name'=>'福德宫','sex'=>'为'),
);
foreach ( $list as $r => $dataRow ) {
$row = $baseRow + $r;

//将数据填充到相对应的位置,对应上面输出的列头
$objPHPExcel->getActiveSheet()->setCellValue('A' . $row, $dataRow ['id'] );
$objPHPExcel->getActiveSheet()->setCellValue('B' . $row, $dataRow ['name'] );
$objPHPExcel->getActiveSheet()->setCellValue('C' . $row, $dataRow ['sex'] );
}

//导出
$filename ='xxx患者信息导出';//excel文件名称
$filename = iconv('utf-8',"gb2312",$filename);//转换名称编码,防止乱码
header ( 'Content-Type: application/vnd.ms-excel;charset=utf-8' );
header ( 'Content-Disposition: attachment;filename="' . $filename . '.xls"' ); //”‘.$filename.’.xls”
header ( 'Cache-Control: max-age=0');

$objWriter = PHPExcel_IOFactory::createWriter ( $objPHPExcel, 'Excel5' ); //在内存中准备一个excel2003文件
$objWriter->save ('php://output');
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: