PHPExcel 封装函数

/ **
     *保存所有审核数据到excel,包括图片数据
     * @param $ data需要保存的数据
     * /

// $ tableheader = array('任务id','截图id','用户id','提交任务信息','创建时间','任务标题','审核状态','提交审核图片',) ;
    public function saveExce l($ data,$ tableheader)
    {
        // var_dump($ data);
        //死;
        标题( “内容类型:文本/ HTML;字符集= UTF-8”);
        使用error_reporting(E_ALL);
        ini_set('display_errors',TRUE);
        ini_set('display_startup_errors',TRUE);

        // Excel表格式,
        $ letter = array('A','B','C','D','E','F','G','H','I','J' ,'K','L','M','N','O','P','Q','R','S','T','U','V',' W','X','Y','Z');
        //表头
        数组// $ tableheader = array('任务id','截图id','用户id','提交任务信息','创建时间','任务标题','审核状态','提交审核图片”,);

        //创建对象
        $ excel = new \ PHPExcel();
        //填充表头信息'
        $ excel-> getActiveSheet() - > setTitle('截图任务审核');
        //删除原有的文件目录
        $ this-> delFileUnderDir(APP_PATH。'/ temp / image /');
        for($ i = 0; $ i <count($ tableheader); $ i ++){
            $ excel-> getActiveSheet() - > setCellValue(“$ letter [$ i] 1”,“$ tableheader [$ i]”) ;
        }
        $ data = json_decode(json_encode($ data),true);
        //
        填充表格信息$ objSheet = $ excel-> getActiveSheet();
        $ objSheet-> getColumnDimension( 'H') - > setWidth(70); //设置默认列宽
        $ objSheet-> getColumnDimension( 'I') - > setWidth(70);

        $ objSheet-> getColumnDimension('K') - > setWidth(70); //设置默认列宽
        ($ i = 2; $ i <= count($ data)+ 1; $ i ++){
            $ j = 0 ;
            foreach($ data [$ i - 2] as $ key => $ value){
                if(gettype($ value)=='array'){
                    foreach($ value as $ k => $ v){
                        $ img = self :: curlGet($ v);
                        $ dir = APP_PATH。'/温度/图像/';
                        $ file_info = pathinfo($ v);
                        if(!empty($ file_info ['basename'])){//过滤非文件类型
                            $ basename = $ file_info ['basename'];
                            is_dir($ dir)或mkdir($ dir,0777,true); //进行检测文件是否存在
                            file_put_contents($ dir。$ basename,$ img);
                            $ objDrawing = new \ PHPExcel_Worksheet_Drawing();
                            $ objDrawing-> setPath($ dir。$ basename);
                            $ objSheet-> getRowDimension($ⅰ) - > setRowHeight(400); //设置默认行高
                            // $ objDrawing-> setWidth(400); //照片宽度
                            $ objDrawing->自动调用setHeight(400); //照片高度
                            // var_dump($ letter [$ j + $ k]。$ i); die;
                            $ objDrawing-> setCoordinates($ letter [$ j + $ k]。$ i); //设置图片要插入的单元格
                            $ objDrawing-> setOffsetX(12); //图片
                            偏移距离$ objDrawing-> setOffsetY(12);
                            $ objDrawing-> setWorksheet($ objSheet);
                        } else {
                            $ excel-> getActiveSheet() - > setCellValue(“$ letter [$ j] $ i”,“”);
                        }
                    }
                }否则{
                    $ excel-> getActiveSheet() - > setCellValue( “$信[$ j]的$ I”, “$值”);
                }
                $ j ++;
            }
        }
        //创建Excel中输入对象
        ob_end_clean();
        $ objWriter = new \ PHPExcel_Writer_Excel5($ excel);
        标题(“Pragma:public”);
        标题(“过期:0”);
        header(“Cache-Control:must-revalidate,post-check = 0,pre-check = 0”);
        标题(“内容类型:应用程序/力下载”);
        标题( “内容类型:应用程序/ vnd.ms-EXECL”);
        标题(“内容类型:应用程序/八位字节流”);
        标题(“内容类型:应用/下载”);
        //多浏览器下兼容中文标题
        $ fileName ='任务截图审核_user_mission_mapping_'。日期(“Ymdhis”,时间());
        $ encoded_filename = urlencode($ fileName);
        $ ua = $ _SERVER [“HTTP_USER_AGENT”];
        if(preg_match(“/ MSIE /”,$ ua)){
            header('Content-Disposition:attachment; filename =“'。$ encoded_filename。'。xls”');

            header('Content-Disposition:attachment; filename * =“utf8 \'\''。$ fileName。'。.csv”');
        } else {
            header('Content-Disposition:attachment; filename =“'。$ fileName。'。.csv”');
        }
        header(“Content-Transfer-Encoding:binary”);
        $ objWriter->保存( 'PHP://输出');
    }
       公共静态函数curlGet($ URL)
    {
        $ CH = curl_init();
        curl_setopt($ ch,CURLOPT_URL,$ url);
        curl_setopt($ ch,CURLOPT_HEADER,0);
        curl_setopt($ ch,CURLOPT_RETURNTRANSFER,1);
        curl_setopt($ ch,CURLOPT_SSL_VERIFYPEER,false);
        //这个是重点请求https。 $ data = curl_exec($ ch);
        curl_close($ CH);
// $ data = json_decode($ data,true);
        返回$ data;
    }

猜你喜欢

转载自blog.csdn.net/stand_forever/article/details/84666124