入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

PHP Excel的导入与导出功能

创建时间:2017-05-23 投稿人: 浏览次数:454

 为什么做这件事:也许原因大家都各不相同,可能有的是为了工作,可能有的是为了学习,我的原因很简单,就是为了玩,正应为好玩,才没事的时候搞一搞。

这件事情很简单,你需要引入一个github库

maatwebsite/excel


然后http://www.maatwebsite.nl/laravel-excel/docs 这篇文章就可以很好的对import,export and export from view files很好的运用了

Let‘s’ begin


核心功能:导入到数据库功能

   /**
     * Display a listing of the resource.
     *
     * @return IlluminateHttpResponse
     */
        /**
     * @description 通过excel表格导入用户数据,帐号和密码都是邮箱号
    */
    public function index(){
        Excel::load(base_path(). "/storage/app/public/file.xlsx", function($reader) {
            $data = $reader->toArray();


            foreach($data[0] as $key => $v){
                    $userinfo = User::where("email",$v["email"])->first();
                    if(is_null($userinfo)){
                        $password = $v["email"];
                        $name = $v["name"];
                        $user_id = User::insertGetId([
                            "name"=>$name,
                            "email" => $v["email"],
                            "password" => bcrypt($password),
                            "created_at" => date("Y-m-d H:i:s",time()),
                        ]);
                    }else{
                        $user_id = $userinfo->id;
                    }
                    echo $user_id."<br>";
                }
        });
    }

如果你需要导出pdf那么你还另需要引入一下这些文件的其中一个,里边她会悄悄告诉怎么做的,那么这个是你们两个的悄悄话了,我就不便谈及了。

Export to PDF

To export files to pdf, you will have to include "dompdf/dompdf": "~0.6.1""mpdf/mpdf": "~5.7.3" or "tecnick.com/tcpdf": "~6.0.0" in your composer.json and change the export.pdf.driver config setting accordingly.


  "pdf"                         => [
            /*
            |--------------------------------------------------------------------------
            | PDF Drivers
            |--------------------------------------------------------------------------
            | Supported: DomPDF, tcPDF, mPDF
            */
            "driver"  => "mPDF", (重点,composer 拉取的那个就用哪一个默认是DomPDF,我用的是mPDF)


            /*
            |--------------------------------------------------------------------------
            | PDF Driver settings
            |--------------------------------------------------------------------------
            */
            "drivers" => [


                /*
                |--------------------------------------------------------------------------
                | DomPDF settings
                |--------------------------------------------------------------------------
                */
                "DomPDF" => [
                    "path" => base_path("vendor/dompdf/dompdf/")
                ],


                /*
                |--------------------------------------------------------------------------
                | tcPDF settings
                |--------------------------------------------------------------------------
                */
                "tcPDF"  => [
                    "path" => base_path("vendor/tecnick.com/tcpdf/")
                ],


                /*
                |--------------------------------------------------------------------------
                | mPDF settings
                |--------------------------------------------------------------------------
                */
                "mPDF"   => [
                    "path" => base_path("vendor/mpdf/mpdf/")
                ],
            ]
        ]
    ],


从数据库导出功能

  public function export(){



        $data = User::orderBy("id","desc")->get()->toArray();


        Excel::create("用户信息表",function($excel) use($data){


        $excel->sheet("Sheetname", function($sheet) use($data) {


            $sheet->fromArray($data);


        });


        })->export("xls");

       // })->export("pdf"); 上边如果用的是pdf这个地方需要修改pdf

    }


导出的excel文件:


导出的pdf文件:



要将创建的文件存储在服务器上,请使用->store($ext, $path = false, $returnInfo = false)->save()

正常导出到默认存储路径

默认情况下,该文件将存储在app/storage/exports文件夹中,该文件夹已在export.php配置文件中定义。

如果你是laravel5以上版本,想要上传到xls文件到服务器上,你需要使用命令copy一份excel.php文件到你的config目录下:

php artisan vendor:publish --provider="MaatwebsiteExcelExcelServiceProvider"
This will add an excel.php config file to your config folder.


就这么多了,遇到不懂的问题,共同讨论!


声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。