博主信息
博文 11
粉丝 1
评论 0
访问量 19710
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
thinkphp5使用execl 导出文件
姑苏城外
原创
1460人浏览过
//把PHPExcel放在vendor目录中
//没有的小伙伴在
//链接:https://pan.baidu.com/s/16NzArZFIXYExFqKnbiNo9Q 
//提取码:n43l
在控制器里
 //导出
                $path = dirname(__FILE__); //找到当前脚本所在路径
                vendor("PHPExcel.PHPExcel.PHPExcel");
                vendor("PHPExcel.PHPExcel.Writer.IWriter");
                vendor("PHPExcel.PHPExcel.Writer.Abstract");
                vendor("PHPExcel.PHPExcel.Writer.Excel5");
                vendor("PHPExcel.PHPExcel.Writer.Excel2007");
                vendor("PHPExcel.PHPExcel.IOFactory");
                $objPHPExcel = new \PHPExcel();
                $objWriter = new \PHPExcel_Writer_Excel5($objPHPExcel);
                $objWriter = new \PHPExcel_Writer_Excel2007($objPHPExcel);
                //垂直居中
                // $objPHPExcel->getDefaultStyle()->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
                // $objPHPExcel->getDefaultStyle()->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
                $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');
               //表头
                $list_a=Array([0] => 项目名称,[1] => ***时间,[2] => 数量);
                //数据
                $lists=Array(
          [0] => Array
            (
                [0] => ee
                [1] => Array
                    (
                        [0] => 2018-09-04
                        [1] => 2018-09-29
                    )

                [2] => Array
                    (
                        [0] => 2000
                        [1] => 1500
                    )
        )
    [1] => Array
        (
            [0] => gg
            [1] => Array
                (
                    [0] => 2018-10-15
                    [1] => 2018-10-15
                )

            [2] => Array
                (
                    [0] => 5000
                    [1] => 5000
                )

        )

)

                $count = count($list_a);
                for ($i=1; $i <=$count; $i++) { 
                    $objPHPExcel->setActiveSheetIndex(0)->setCellValue($letter[$i-1].'1',$list_a[$i-1]);
                }
                $counts = count($lists);
                foreach ($lists as $key_ks => $value_ks) {
                    foreach ($value_ks as $k_k => $v_v) {
                        
                            $vs=$key_ks+2;
                            $objPHPExcel->getActiveSheet()->getColumnDimension($letter[$k_k])->setWidth(30);
                            $as=count($v_v);
                            if($as=='1'){
                                if(isset($v_v[0])){
                                     $objPHPExcel->getActiveSheet()->setCellValue($letter[$k_k].$vs,$v_v[0]);
                                }else{
                                    $objPHPExcel->getActiveSheet()->setCellValue($letter[$k_k].$vs,$v_v);
                                }
                                
                            }else{
                                // foreach ($v_v as $k_v => $vv) {
                                  // $k_v=$k_v+2;
                                    // $abc = $vv."\r\n";
                                    // dump($v_v);
                                    $count  = count($v_v);
                                    for($i = 0; $i< $count; $i++){
                                        if($i+1 < $count){
                                            $abc = $v_v[$i]."\r\n".$v_v[$i+1]."\r\n";
                                        }
                                    }
                                    //dump($abc);
                                   $objPHPExcel->getActiveSheet()->setCellValue($letter[$k_k].$vs,$abc);
                                // }
                                // $aaa=$v_v;
                                // $objPHPExcel->getActiveSheet()->setCellValue($letter[$k_k].$vs,$aaa);
                               
                                
                                
                            }
                           
                    }
                   // die;

                
                }
                
               
                $objPHPExcel->getActiveSheet()->setTitle('productaccess');      //设置sheet的名称
                $objPHPExcel->setActiveSheetIndex(0);                   //设置sheet的起始位置
                $objPHPExcel->getProperties()->setCreator("Maarten Balliauw");
                ob_clean();  
                $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');   //通过PHPExcel_IOFactory的写函数将上面数据写出来
                
                $PHPWriter = \PHPExcel_IOFactory::createWriter( $objPHPExcel,"Excel2007");
                    
                header('Content-Disposition: attachment;filename="设备列表.xlsx"');
                header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
                
                $PHPWriter->save("php://output"); //表示在$path路径下面生成demo.xlsx文件


本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学