php导出图片到excel

很变态,图片非要导入excel,这么大个,我只能1000条导出一次,很恶心。导出好多次,才全部倒出到excel.

        set_time_limit(0);
        ini_set('memory_limit', '1024M');
        $title = date('Ym',time());
        //获取活动id
        $aUserInfo= $c->get_doctor_reply_img($title);
        //如果是导出excel文件
        require_once 'include/PHPExcel.php';
        require_once 'include/PHPExcel/Writer/Excel2007.php';
        /*实例化excel类*/
        $excel = new PHPExcel();
        /*实例化excel图片处理类*/
        $objDrawing = new PHPExcel_Worksheet_Drawing();
        /*设置文本对齐方式*/
        $excel->getDefaultStyle()->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
        $excel->getDefaultStyle()->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
        $objActSheet = $excel->getActiveSheet();
        $letter = array('A','B','C','D','E','F','G','H','I','J','K','L','M','N');
        /*设置表头数据*/
        $tableheader = array('零售店员名字','零售店员电话','销售代表','销售代表电话','地区经理','大区','答题时间', '用户类型','答案');
        /*填充表格表头*/
        $count = count($tableheader);
        for($i = 0;$i < $count;$i++) {
            $excel->getActiveSheet()->setCellValue("$letter[$i]1","$tableheader[$i]");
        }
        /*设置表格数据*/
        $fieldArr = array('name','telephony','market_name','market_telephony','area_manager','region','inputtime','type','answer');
        $data = array();
        foreach($aUserInfo  as $k=> $v){
            $data[$k]['answer']  = $v['file_url'];
            $data[$k]['name']  = $v['name'];
            $data[$k]['telephony']  = $v['telephony'];
            $data[$k]['market_name']  = $v['market_name'];
            $data[$k]['market_telephony']  = $v['market_telephony'];
            $data[$k]['area_manager']  = $v['area_manager'];
            $data[$k]['region']  = $v['region'];
            if($v['usertype']==1){
                $data[$k]['type'] = "药师";
            }else{
                $data[$k]['type'] = "医生";
            }
            $data[$k]['inputtime'] = date('Y-m-d H:i:s',$v['inputtime']);
        }
        /*填充表格内容*/
        $count = count($data);
        for ($i = 0;$i < $count;$i++) {//VAR_DUMP(PHP_ROOT.'1.jpg');DIE;
            $j = $i + 2;

            /*设置表格高度*/
            $excel->getActiveSheet()->getRowDimension($j)->setRowHeight(80);
            /*向每行单元格插入数据*/
            $countRow = count($data[$i]);
            for ($row = 0;$row < $countRow;$row++) {
                /*设置表格宽度*/
                $objActSheet->getColumnDimension("$letter[$row]")->setWidth(40);
                if ($fieldArr[$row]=='answer') {
                    if($data[$i][$fieldArr[$row]]){
                        /*实例化插入图片类*/
                        $objDrawing = new PHPExcel_Worksheet_Drawing();
                        /*设置图片路径 切记:只能是本地图片*/
                        $objDrawing->setPath(dirname(dirname(__FILE__)).$data[$i][$fieldArr[$row]]);
                        /*设置图片高度*/
                        $objDrawing->setHeight(100);
                        /*设置图片要插入的单元格*/
                        $objDrawing->setCoordinates("I".($i+2));
                        /*设置图片所在单元格的格式*/
                        $objDrawing->setOffsetX(110);
                        $objDrawing->setRotation(25);
                        $objDrawing->getShadow()->setVisible(true);
                        $objDrawing->getShadow()->setDirection(45);
                        $objDrawing->setWorksheet($excel->getActiveSheet());
                        continue;
                    }
                }
                $excel->getActiveSheet()->setCellValue("$letter[$row]$j",$data[$i][$fieldArr[$row]]);
            }
        }
        $write = new PHPExcel_Writer_Excel2007($excel);
        header("Pragma: public");
        header("Expires: 0");
        header("Cache-Control:must-revalidate, post-check=0, pre-check=0");
        header("Content-Type:application/force-download");
        header("Content-Type:application/vnd.ms-execl");
        header("Content-Type:application/octet-stream");
        header("Content-Type:application/download");;
        header('Content-Disposition:attachment;filename="测试文件.xls"');
        header("Content-Transfer-Encoding:binary");
        $write->save('php://output');

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值