خانه

  دوره آموزشی آشنایی با مفاهیم اولیه صید کپور و قزل آلا بصورت آکادمیک
آخرین پست تاپیک : ۱۲:۲۵   ۱۳۹۷/۱۰/۱۶
152 بازدید

کار با فایل های Excel در لاراول

  • avatar
    کاربر جديد|1 سپاس شده|57 پست
    ۱۲:۲۵   ۱۳۹۷/۱۰/۱۶

    لاراول یک روش جدید از کدنویسی است که در دنیای برنامه نویسی به زبان های انسان نزدیک شده است،خواندن و نوشتن فایل های اکسل از گذشته یکی از مشکلات مهم در برنامه نویسی است.گاهی نیازمند وارد کردن اطلاعات به درون اکسل و گاهی نمایش و یا ثبت اطلاعات اکسل درون دیتابیس هستیم ،به این منظور ابزار های کارآمدی در نظر گرفته شده است که کار با این فایل ها را تسهیل می کند .

    https://inten.asia/wp-content/uploads/2019/01/excel1.jpg

    به دو نمونه از پکیج های مورداستفاده در لاراول به منظور کار با excel اشاره میکنیم:

    ۱-Laravel Excel

    یکی از پکیج های بسیار مناسب و ساده به این منظور پکیج Laravel Excel است .به کمک این پکیج میتوانید اطلاعات خود را که درون یک فایل اکسل ثبت شده ، به داخل دیتابیس وارد کنید یا از دیتابیس استخراج کنید .همچنین می توانید اطلاعات را با کمک صف ها ، به منظور بهتر انجام شدن عملیات ، Export کنید . به این منظور ابتدا با دستور زیر این پکیج را نصب کنید :

    
    composer require maatwebsite/excel
    
    

    و کلاس Excel  را به config/app اضافه می کنیم:

    ]<='providers'
    ,Maatwebsite\Excel\ExcelServiceProvider::class
    [
    
    ]<='aliases'
    ,Excel'=>Maatwebsite\Excel\Facades\Excel::class'
    [

    سپس دستور زیر را اجرا کنید :

    php artisan vendor:publish
    •  Export
      برای استخراج اطلاعات از دیتابیس از دستور download استفاده میکنیم .
      کد های زیر نمونه ای برای جدول کاربران است .
      ابتدا یک کلاس در مسیر App/Exports با دستور زیر میسازیم :
    php artisan make:export UsersExport --model=User

    سپس در کنترولر مورد نظر دستور Export  را وارد می کنیم:

    ()public function export
    }
    ;return Excel::download(new UsersExport, 'users.xlsx')
    {

    توجه داشته باشید که مسیر زیر به صورت Excel باشد.

    ;use Maatwebsite\Excel\Facades\Excel
    • Import
      همچنین به طریق مشابه برای import کردن هم یک کلاس مشابه میسازیم.
    php artisan make:import UsersImport --model=User

    و در کلاس ساخته شده کد مورد نظر را وارد میکنیم ( دقت کنید که اینجا از جدول User استفاده شده در نتیجه در استفاده از جداول دیگر فیلد ها تغییر خواهند کرد )

    public function model(array $row)
    }
    ])return new User
    ,name' => $row[0]'
    ,email' => $row[1]'
    ,password' => Hash::make($row[2])'
    
    ;([
    
    {

    و سپس در کنترولر مورد نظر با متد import اطلاعات را دریافت میکنیم :

    () public function import
    }
    ;Excel::import(new UsersImport, 'users.xlsx')
    
    ;return redirect('/')->with('success', 'All good!')
    {

    ۲- PhpExcel

    PhpExcel یک کتابخانه برای خواندن از یک فایل اکسل و یا نوشتن در آن است البته میتوان اطلاعات خوانده شده را import هم کرد .در مواردی لازم داریم ستون هایی از یک فایل مجزا بخوانیم در این کتابخانه با کمک دستور load میسر است
    یک مثال ساده از این کتابخانه (توجه داشته باشید که فرمت فایلتان xlsx باشد)

    ;include_once(app_path()."/lib/Classes/PHPExcel/IOFactory.php")
    ;'path ='excel/list.xlsx$
    ;objPHPExcel = \PHPExcel_IOFactory::load($path)$

    هم میتوانید این کتابخانه را به پروژه ی خود اضافه کنید و هم میتوانید به صورت پکیج با دستور زیر نصب کنید( که در مثال فوق من از کتابخانه به صورت مستقیم استفاده کردم ) :

    composer require phpoffice/phpspreadsheet

    مثال بالا با استفاده از پکیج phpspreadsheet :

    ;'path ='excel/list.xlsx$
    
    ;objPHPExcel =IOFactory::load($path)$

    با استفاده از متد های این پکیج می توانید سلول های مختلف این پکیج را بخوانید یا استایل ها را تغییر دهید
    در ادامه ی مثال قبل :

    }   foreach ($objPHPExcel->getWorksheetIterator() as $worksheet)
                 ;()highestRow = $worksheet->getHighestRow$
              } for ($row = 2; $row <= $highestRow; $row++)
    
     ,۲)number = $worksheet->getCellByColumnAndRow$
                                                                       ;()row)->getValue$
                                                                  ;'<echo $number.'<br
    {
    {

     

    https://inten.asia/wp-content/uploads/2019/01/photo_2019-01-05_22-17-19-min.jpg

    نتیجه ی کد بالا :

    https://inten.asia/wp-content/uploads/2019/01/photo_2019-01-05_22-17-25-min.jpg

    شرکت طراحی وب سایت اینتن متشکل از تیم حرفه ای ، باتجربه و آکادمیک در عرصه فضای مجازی است که عمده فعالیت هایش حول طراحی سایت های اینترنتی، سئو سایت و بهینه سازی وب سایت و برندسازی اینترنتی می باشد.

    کار با فایل های Excel در لاراول
  • برای شرکت در مباحث تبادل نظر باید ابتدا در سایت  ثبت نام  کرده، سپس نام کاربری و کلمه عبور خود را وارد نمایید؛    (Log In) کنید.
موضوع بعد »
زیربخش
«  موضوع قبل
تبلیغات
 
تمامی حقوق مادی و معنوی سایت محفوظ و متعلق به اين سايت (زیباکده ) میباشد و استفاده از مطالب با ذکر و درج لینک منبع بلامانع است © Copyright 2019 - zibakade.com
طراحی و تولید : بازارسازان