zoukankan      html  css  js  c++  java
  • tp5 Excel导出

    1.百度搜索 PHPexcel (这是一个PHP类库)

    2.下载的文件放到vendor里(这是tp5专门放置类库文件的)

    下面是代码

    /**
         * 导出
         */
        public function export(){
            $xlsData = Db('user')->select();
            Vendor('PHPExcel.PHPExcel');//调用类库,路径是基于vendor文件夹的
            Vendor('PHPExcel.PHPExcel.Worksheet.Drawing');
            Vendor('PHPExcel.PHPExcel.Writer.Excel2007');
            $objExcel = new PHPExcel();
            //set document Property
            $objWriter = PHPExcel_IOFactory::createWriter($objExcel, 'Excel2007');
    
            $objActSheet = $objExcel->getActiveSheet();
            $key = ord("A");
            $letter =explode(',',"A,B,C,D,E,F");
            $arrHeader = array('姓名','公司','职位','邮箱','状态');
            //填充表头信息
            $lenth =  count($arrHeader);
            for($i = 0;$i < $lenth;$i++) {
                $objActSheet->setCellValue("$letter[$i]1","$arrHeader[$i]");
            };
            //填充表格信息
            foreach($xlsData as $k=>$v){
                $k +=2;
                $objActSheet->setCellValue('A'.$k,$v['username']);
                $objActSheet->setCellValue('B'.$k, $v['company']);
                // // 图片生成
                // $objDrawing[$k] = new PHPExcel_Worksheet_Drawing();
                // $objDrawing[$k]->setPath('public/static/admin/images/profile_small.jpg');
                // // 设置宽度高度
                // $objDrawing[$k]->setHeight(40);//照片高度
                // $objDrawing[$k]->setWidth(40); //照片宽度
                // /*设置图片要插入的单元格*/
                // $objDrawing[$k]->setCoordinates('C'.$k);
                // // 图片偏移距离
                // $objDrawing[$k]->setOffsetX(30);
                // $objDrawing[$k]->setOffsetY(12);
                // $objDrawing[$k]->setWorksheet($objPHPExcel->getActiveSheet());
                // 表格内容
                $objActSheet->setCellValue('C'.$k, $v['position']);
                $objActSheet->setCellValue('D'.$k, $v['email']);
                $objActSheet->setCellValue('E'.$k, $v['statuid'] == 1?'正常':'失效');
    
    
                // 表格高度
                $objActSheet->getRowDimension($k)->setRowHeight(20);
            }
    
            $width = array(20,20,15,10,10,30,10,15);
            //设置表格的宽度
            $objActSheet->getColumnDimension('A')->setWidth($width[5]);
            $objActSheet->getColumnDimension('B')->setWidth($width[1]);
            $objActSheet->getColumnDimension('C')->setWidth($width[0]);
            $objActSheet->getColumnDimension('D')->setWidth($width[5]);
            $objActSheet->getColumnDimension('E')->setWidth($width[5]);
    
    
            $outfile = "人员表.xls";
            ob_end_clean();
            header("Content-Type: application/force-download");
            header("Content-Type: application/octet-stream");
            header("Content-Type: application/download");
            header('Content-Disposition:inline;filename="'.$outfile.'"');
            header("Content-Transfer-Encoding: binary");
            header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
            header("Pragma: no-cache");
            $objWriter->save('php://output');
        }
    

      如果写的不对  请一定告知我

  • 相关阅读:
    20160419—JS备忘:服务器回发刷新页面提示重试的解决方案。
    JS备忘--子父页面获取元素属性、显示时间,iframe之间互相调用函数
    20160215--获取页面的高度和宽度
    20151013--设计模式六大原则(转载)
    20150915--文件下载
    20150909—Win10系统80端口被System占用
    GridView中实现CheckBox的全选
    Invoke和BeginInvoke的区别(转载)
    AJAX+图像验证码(一般处理程序)
    报表
  • 原文地址:https://www.cnblogs.com/huanghanyi/p/7920807.html
Copyright © 2011-2022 走看看