Thinkphp3.2.3后台Excel导出

用到的是PHPExcel,

我放置的文件目录是Common\Org

111

具体使用方法见demo:

        /**
	 * 中奖名单导出
	 *
	 */
	public function check_out_winners(){
		$winners = D('winners');
		$data = $winners->join("tb_prize p on __WINNERS__.prize_id = p.id ")->field("tb_winners.id,username,phone,address,name,ip,create_time")->select();
		$headArr = array('id','姓名','手机号','地址','奖品','ip','时间');
        import("Common.Org.PHPExcel");
        import("Common.Org.PHPExcel.Writer.CSV");
        import("Common.Org.PHPExcel.Writer.Excel5");
        //
        import("Common.Org.PHPExcel.IOFactory.php");
        $fileName = "winners";

        $this->exportExcel($fileName,$headArr,$data); //数据导出
	}
	function exportExcel($fileName,$headArr,$data){
        if(empty($data) || !is_array($data)){
            die("data must be a array");
        }
        if(empty($fileName)){
            exit;
        }
        $date = date("Y_m_d",time());
        $fileName .= "_{$date}.csv";

        //创建新的PHPExcel对象
        $objPHPExcel = new \PHPExcel();

        $objProps = $objPHPExcel->getProperties();

        //设置表头
        $kk = ord("A");
        //r_dump($headArr);
        foreach($headArr as $v){
            $colum = chr($kk);
            $objPHPExcel->setActiveSheetIndex(0)->setCellValue($colum.'1',$v);
            $kk += 1;
        }

        $column = 2;
        $objActSheet = $objPHPExcel->getActiveSheet();
        foreach($data as $key => $rows){ //行写入
            $span = ord("A");
            foreach($rows as $keyName=>$value){// 列写入
                $j = chr($span);
                $objActSheet->setCellValue($j.$column,$value);
                //$objPHPExcel->getActiveSheet()->setCellValue($column, 'www.baidu.com');
                //$objPHPExcel->getActiveSheet()->getCell($j.$column)->getHyperlink()->setUrl('//www.phpexcel.net');

                //$objActSheet->setCellValue('F'.$column, 'www.phpexcel.net');
                $objActSheet->getCell('F'.$column)->getHyperlink()->setUrl('//www.baidu.com');
                $span++;
            }
            $column++;
        }

        //$fileName = iconv("UTF-8", "GBK", $fileName);
        //设置活动单指数到第一个表,所以Excel打开这是第一个 表
        $objPHPExcel->setActiveSheetIndex(0);
        header('Content-Type: application/vnd.ms-excel');
        header("Content-Disposition: attachment;filename=\"$fileName\"");
        header('Cache-Control: max-age=0');
        $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'CSV');
        $objWriter->save('php://output'); //文件通过浏览器下载
      exit;

    }

This Post Has 17 Comments

  1. 不错,过来支持下,同时欢迎你回访志运博客 互相学习,赞赞。另外,如果你喜欢搜索的话,请立即在360、搜狗、有道、输入“志运博客”搜索一下你就可以看到我的博客了,而且排名都在第一页的。或用百度输入“志运博客|创业家园”这个关键词,也可以搜索到志运博客的站点。【志运博客交流QQ:1042906863。】 欢迎你回访 志运博客 谢谢!博客网址:http://www.hao125.cc/

  2. #广东硅谷学院#学好IT好就业选硅谷IT,学技能拿文凭事半功倍,紧跟专业教师一起冲浪IT行业。我们有建设学习型专业师资团队,教师领跑学生紧随其后。(QQ:800015777,电话0754-88989555)

  3. 我是东北么妹,今年23岁了,曾经的我真是苦不堪言,满脸的痘痘让我极为的难受,也正因为这样,让我前几年都没有一段美好的爱恋,记得在痘痘长得严重的时候我都不敢出门,自卑到了极点。好在那都已经是过去了,现在的我已经把痘痘彻底打败了,就是从去年3月份开使用小士兵快速祛痘套装,虽然开始的时候来得缓慢,但在我的坚持使用下,没几个月就连痕迹都没有了。现在我也想把这份喜悦分享给大家,他们的官方博客是:http://blog.sina.com.cn/u/5966569497而且他们还分享了很多关于祛痘的知识。希望你也早日战痘成功!

  4. #广东硅谷学院#学好IT好就业选硅谷IT,学技能拿文凭事半功倍,紧跟专业教师一起冲浪IT行业。我们有建设学习型专业师资团队,教师领跑学生紧随其后。(QQ:800015777,电话0754-88989555)

  5. 鸡年红包 爱发娱乐城索雷尔金冠娱乐城奥迅瑞丰彩金派发专员QQ:1813712617

发表评论

Close Menu