php 导入EXCEL 包括图片

原创
2015/12/16 10:33
阅读数 759

        === ====工作随笔 ,方便以后使用 =====

        在网上百度了很多。一直没有找到很好的教程 ,在此记录下。

     

   //获得图片
    $tmp = $_FILES['sponser']['tmp_name']; 
    require_once COMMON_LIB_PATH.'Phpexcel/PHPExcel.php';
    $objPHPExcel = new PHPExcel();
    $objReader = PHPExcel_IOFactory::createReader('Excel5');  //加载2003的
    $objPHPExcel = $objReader->load($tmp);  //载入文件
    foreach ($objPHPExcel->getSheet(0)->getDrawingCollection() as $k => $drawing) {
        $codata = $drawing->getCoordinates(); //得到单元数据 比如G2单元
        $filename = $drawing->getIndexedFilename();  //文件名
        // show($filename);
        // echo "<img src ='".$filename."'/>";
        // show($codata);
        ob_start();
        call_user_func(
            $drawing->getRenderingFunction(),
            $drawing->getImageResource()
        );
        $imageContents = ob_get_contents();
        // show($imageContents);
        // die;
        file_put_contents('./Upload/excel/'.$codata.'_'.$filename.'.jpg',$imageContents); //把文件保存到本地
        ob_end_clean();
        
        //获得文字
          function excel($tmp,$l){
        require_once(APP_PATH.'common/Lib/plus/excel/reader.php');
        //创建对象
        $data = new Spreadsheet_Excel_Reader();
        //设置文本输出编码
        $data->setOutputEncoding('UTF-8');
        //读取Excel文件
        $data->read($tmp);
        error_reporting(E_ALL ^ E_NOTICE);
        $dbs =array();
        for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) {
            $str = "";
                //$tablestr .= "<tr>";
                //$tablestr .="<td><input type='checkbox' value = '{$i}' id = {$i}></td>";
                //$tablestr .="<td><span>第{$i}行</span></td>";
                for ($j = 1; $j <= $l; $j++) {
                       
                        if($data->sheets[0]['cells'][$i][$j]==""){
                            //为空时,证明无数据,所以填写数据时要注意
                            $str = null;
                            continue;
        
                            // echo $nuk="null";   
                        }
                        $str.=  $data->sheets[0]['cells'][$i][$j].",";
                        //带表格,方便后面显示数据
                        
                       // $tablestr .="<td>".$data->sheets[0]['cells'][$i][$j]."</td>";
                }
                $tablestr .="</tr>";
            if(!$str){break;}
            $dbs[]= $str;
            //$dbs['show'] ="<table width='100%'>" . $tablestr . "</table>";
            //带表格,方便后面显示数据
        }
            return $dbs;
        }


展开阅读全文
打赏
0
3 收藏
分享
加载中
更多评论
打赏
0 评论
3 收藏
0
分享
在线直播报名
返回顶部
顶部