PHP导出excle图片和文字

#PHP导出excle图片和文字
(需下载PHPExcel类文件)需要去PHP中文网http://www.php.cn/xiazai/leiku/1491,下载后只需要Classes目录下的文件即可

    function export(){
        //文件引入
        require_once dirname(dirname(__DIR__)) . '/libraries/PHPExcel.php';
        require_once dirname(dirname(__DIR__)) . '/libraries/PHPExcel/Writer/Excel2007.php';

        $filename = time();
        //初始化PHPExcel()
        $objPHPExcel = new PHPExcel();
        $objWriter = new PHPExcel_Writer_Excel5($objPHPExcel);
        //设置保存版本格式
        $filename = $filename.'.xls';

        $objDrawing = new PHPExcel_Worksheet_Drawing();
        $objPHPExcel->createSheet(0);
        $objPHPExcel->setActiveSheetIndex(0);
        $currentSheet = $objPHPExcel->getActiveSheet();
        // 水平居中(位置很重要,建议在最初始位置)
        $objPHPExcel->setActiveSheetIndex(0)->getStyle('A')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
        $objPHPExcel->setActiveSheetIndex(0)->getStyle('B')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
        $objPHPExcel->setActiveSheetIndex(0)->getStyle('C')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
        $objPHPExcel->setActiveSheetIndex(0)->getStyle('D')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
        $objPHPExcel->setActiveSheetIndex(0)->getStyle('E')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
        $objPHPExcel->setActiveSheetIndex(0)->getStyle('F')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
        $objPHPExcel->setActiveSheetIndex(0)->getStyle('G')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
        // 设置个表格宽度
        $objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(20);
        $objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(20);
        $objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(20);
        $objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(20);
        $objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(20);
        $currentSheet->setCellValue('A1', "id");
        $currentSheet->setCellValue('B1', "链接地址");
        $currentSheet->setCellValue('C1', "创建时间");
        $currentSheet->setCellValue('D1', "类型");
        $currentSheet->setCellValue('E1', "二维码");
        $idx = 2;
        $this->load->model('qrcode_model');
        $conditions = array('type'=>0,'is_export'=>0);
        $qrcode_list = $this->qrcode_model->get_list($conditions);
        //数据写入
        foreach ($qrcode_list as $device) {
            $currentSheet->setCellValue('A' . $idx, $device['id']);
            $currentSheet->setCellValue('B' . $idx, $this->config->item('base_url').$device['url']);
            $currentSheet->setCellValue('C' . $idx, date("Y-m-d H:i:s",$device['addtime']));
            $currentSheet->setCellValue('D' . $idx, '系统生成');
            $currentSheet->getRowDimension($idx) -> setRowHeight(60);
            $objDrawing = new PHPExcel_Worksheet_Drawing();
            $path = './Uploads/'.$device['url'];
            if(!file_exists($path)){
                $path= './images/xiaolu.png';
            }
            $objDrawing->setPath($path);

            // 设置宽度高度
            $objDrawing->setHeight(80);//照片高度
            $objDrawing->setWidth(80); //照片宽度
            /*设置图片要插入的单元格*/
            $objDrawing->setCoordinates('E'.$idx);
            // 图片偏移距离
            $objDrawing->setOffsetX(12);
            $objDrawing->setOffsetY(12);
            $objDrawing->setWorksheet($objPHPExcel->getActiveSheet());

            $idx++;
        }

        // 下载这个表格,在浏览器输出
        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='.$filename.'');
        header("Content-Transfer-Encoding:binary");
        $objWriter->save('php://output');
    }

猜你喜欢

转载自blog.csdn.net/weixin_41722647/article/details/89212582