دسته بندی :
تاریخ انتشار : ۲۹ آبان ۱۳۹۴
گردآوری و تالیف : حسام موسوی

کارمو با طراحی گرافیکی شروع کردم و حدود 2 سال طراحی گرافیکی میکردم بعد به طراحی وب علاقه پیدا کردم و همراه طراحی وب عاشق کدنویسی شدم به PHP | sass | css | Jquery | javaScript تسلط کامل دارم . در بین فریم ورک های PHP اول با CodeIgniter کار کردم اما به laravel علاقه مند شدم و دارم بطور حرفه ای دنبالش میکنم . امید من اینکه بتونم کاربرهای ایرانی رو به دنیای بیرون متصل کنم تا بتونن از فناوری های تازه آگاهی داشته باشن

امروز من می خوام به طور خلاصه بررسی اجمالی در مورد پکیج Laravel-Excel داشته باشم . به نظرم احتیاج به این نیست که در مورد این مطلب توضیح خاصی بدم چون شما به راحتی از عنوان این مطلب میتونید هدف این آموزش رو درک کنید . اما چیزی که من میخوام در این پست بهتون نشون بدم اینکه شما چطوری میتونید اطلاعات مدل رو به راحتی به فایل اکسل تبدیل کنید . 

اساسا ، پکیج Laravel-Excel از PHPExcel برای کار با فایل های اکسل استفاده میکنه . تنها با این هدف به پکیج تبدیل شده تا کار با PHPExcel رو خیلی راحت تر کنه . 

روش نصب Laravel-Excel

خب در قدم اول کاری که برای نصب هر پکیج انجام میدید . 

1. composer.json :

"maatwebsite/excel": "~2.0.0"

در هنگام نصب ما وابسته های بصری رو میتونیم مشاهده کنیم . 

2. config/app.php :

خب کد زیر را در بخش providers قرار دهید

Maatwebsite\Excel\ExcelServiceProvider:class

و همینطور کد زیر را در بخش aliases

'Excel' => Maatwebsite\Excel\Facades\Excel:class

3. Publishing the config :

php artisan vendor:publish

حالا به قسمت جادویش میرسیم ، 

بیاید با جدول معمول Users که در لاراول بطور پیش فرض قرار داده اطلاعات کاربرها رو با استفاده از پکیج Laravel-Excel داخل فایل اکسل بریزیم البته فقط فیلد های که احتیاج داریم نه اینکه بیایم فیلدی مثل پسورد رو خروجی بگیریم . خب چطور این کارو انجام بدیم ؟ به کد زیر دقت کنید . 

$users = User::select('id', 'name', 'email', 'created_at')->get();
Excel::create('users', function($excel) use($users) {
    $excel->sheet('Sheet 1', function($sheet) use($users) {
        $sheet->fromArray($users);
    });
})->export('xls');

نتیجه کد بالا با عنوان users.xls دانلود میشه . ( اسم فایل زمانی که Excel::create(‘users‘ …)  رو میسازید انتخاب میشه ) که اگه فایل اکسل رو باز کنید نتیجه زیر رو میبینید . 

شیرین بود ؟ اینطور نیست ؟

البته Laravel-Excel دارای توابع خیلی زیادی برای کار با Excel . شما میتونید به راحتی به sheets ها استایل بدید یا با استفاده از فایل های Excel اطلاعات رو وارد دیتابیس بکنید و خیلی کارهای دیگه ای که به سادگی با توابع این کتابخانه قابله انجامه . 

به خاطر داشته باشید که برخی از الزامات مورد نیاز برای کار با این پکیج رو باید داشته باشید تا پکیج بدرستی کار کنه - این الزامات رو در زیر لیست میکنم . 

  • PHP version >= 5.3.7
  • Laravel >= 4.1
  • PHPOffice PHPExcel >= 1.8.0 (included by composer.json)
  • PHP extension php_zip enabled (required if you need PHPExcel to handle .xlsx .ods or .gnumeric files)
  • PHP extension php_xml enabled
  • PHP extension php_gd2 enabled (optional, but required for exact column width autocalculation)

امیدوارم مورد توجه شما قرار گرفته باشه .  

دیدگاه های مخاطبین

ثبت دیدگاه شما
  • هادی

    با سلام
    ممنون و سپاس فراوان بابت سایت خوبتون.
    اگر امکان داره نمایش همین فایل با استفاده از قالب blade رو آموزش بدید.

    • admin

      نمایش اطلاعات گرفته شده از دیتابیس در blade منظورتونه ؟
      اگه این منظورتونه که کار خیلی ساده ایه

  • بهنام فلاح پور

    ممنون از آموزش مفیدتون ..

    عذر می خوام جناب موسوی که اینجا مطرح می کنم، می خواستم درخواست آموزش ایجاد خبرنامه برا سایت رو ازتون کنم ..

    • behnam

      از یه نظر به خاطر محدودیت های موجود توی پلن رایگان mailchimp، از یه نظرم به خاطر آشنا شدن با مراحل انجام چنین کاری و قسمت های queue و ارسال ایمیل و ...

      ممنونم ..

    • admin

      چشم بزودی با لاراول هم اینو تدریس میکنم اما بهتر نیست برای خبرنامه از سرویس های مثل mailchimp.com استفاده کنید که کاملا مدیریت شده است ؟

  • Webdeveloper

    سلام جناب موسوي
    ممنون از توجه شما.
    آيا موارد ديگه اي از اين پكيج آموزش ميدهيد ؟

    • admin

      اگه فرصت بشه بله حتما

پیشنهاد میکنیم این مطالب رو هم مطالعه کنید :