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'); }