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

 

posted on 2012-12-11 10:11  睡着的糖葫芦  阅读(2923)  评论(0编辑  收藏  举报