Laravel Export to PDF using Maatwebsite Example
In this post i will show you how to export or download pdf file from database table by maatwebsite. maatwebsite packages throught you can easily generate pdf file. so now i show you simple example of items table data, you can donwload in pdf formate. In following few step you can implement export both function in your project. we have to also need to use dompdf package for pdf generater. let's follow step.
Step 1: Installation
Open your composer.json file and add bellow line in required package.
Laravel 5
"maatwebsite/excel": "~2.1.0"
Laravel 4
"maatwebsite/excel": "~1.3"
Then, run command composer update
Now open config/app.php file and add service provider and aliase.
'providers' => [....
'Maatwebsite\Excel\ExcelServiceProvider',
],
'aliases' => [
....
'Excel' => 'Maatwebsite\Excel\Facades\Excel',
],
Config
If you are using Laravel 5 then fire following command:
php artisan vendor:publish
If you are using Laravel 4 then fire following command:
php artisan config:publish maatwebsite/excel
This command will create config file for excel package.
At Last we have to also add dompdf package for pdf gererate so fire following command:
dompdf package for pdf
composer require dompdf/dompdf
Step 3: Create Table and Model
In this step we have to create migration for items table using Laravel 5 php artisan command, so first fire bellow command:
php artisan make:migration create_items_table
After this command you will find one file in following path database/migrations and you have to put bellow code in your migration file for create items table.
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateItemsTable extends Migration
{
public function up()
{
Schema::create('items', function (Blueprint $table) {
$table->increments('id');
$table->string('title');
$table->text('description');
$table->timestamps();
});
}
public function down()
{
Schema::drop("items");
}
}
After craete "items" table you should craete Item model for items, so first create file in this path app/Item.php and put bellow content in item.php file:
app/Item.php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Item extends Model
{
public $fillable = ['title','description'];
}
Step 3: Create Route and Controller
In this is step we need to create route of export file. so open your app/Http/routes.php file and add following route.
Route::get('exportPDF', 'MaatwebsiteDemoController@exportPDF');
Ok, now we should create new controller as MaatwebsiteDemoController in this path app/Http/Controllers/MaatwebsiteDemoController.php. this controller will manage data and genarate pdf file, so put bellow content in controller file:
app/Http/Controllers/MaatwebsiteDemoController.php
use Input;
use App\Item;
use Excel;
class MaatwebsiteDemoController extends Controller
{
public function exportPDF()
{
$data = Item::get()->toArray();
return Excel::create('itsolutionstuff_example', function($excel) use ($data) {
$excel->sheet('mySheet', function($sheet) use ($data)
{
$sheet->fromArray($data);
});
})->download("pdf");
}
}
Ok, Now we are ready to use our route, so let's check...
Laravel 5 import export to excel and csv using maatwebsite example.
Hardik Savani
I'm a full-stack developer, entrepreneur and owner of ItSolutionstuff.com. I live in India and I love to write tutorials and tips that can help to other artisan. I am a big fan of PHP, Laravel, Angular, Vue, Node, Javascript, JQuery, Codeigniter and Bootstrap from the early stage. I believe in Hardworking and Consistency.
We are Recommending you
- Laravel Maatwebsite Excel Text Align Center Example
- Laravel Maatwebsite Excel Set Font Weight Bold Example
- Laravel Maatwebsite Excel Set Background Color Example
- Laravel - Create CSV File from Custom Array using Maatwebsite
- How to Create Seeder with JSON data in Laravel?
- How to Create Dynamic Navigation Bar in Laravel?
- Laravel Eloquent Model Custom Function Example
- Laravel Razorpay Payment Gateway Example
- Laravel Circuit Breaker Pattern Example
- How to use Model Events in Laravel 8?
- How to Store Multiple Select Values in Laravel?
- How to Install Laravel in Ubuntu?
- Laravel Clear Cache of Route, View, Config Command