How To Export Excel File In Laravel 9
Exporting data from a database to an Excel file is a common requirement for many web applications. This process can be made simpler and more efficient with the help of Laravel 8 and 9. In this article, we will discuss how to export an Excel file in Laravel 8 and 9 using MySQL database. We will also discuss the various use cases of exporting data from a database into an Excel file. By the end of this article, you should have a better understanding of how to export data from a MySQL database into an Excel file in Laravel 8 and 9.
Exporting data from a web application is an important feature that is often used for creating reports or backups. Laravel 9 provides a powerful and easy to use tool for exporting data to Excel files. The Maatwebsite/Excel package makes it easy to export data from the database into an Excel file with just a few lines of code. In this article, we will discuss how to export data from Laravel 8/9 using the Maatwebsite/Excel package. We will walk through several examples of how to export different types of data and also look at some best practices when working with Excel files in Laravel. .Laravel Excel Exportations: IntroductionThe Maatwebsite/Excel package makes exporting your web application data to an Excel file easy. For example, let’s say we have a table in our database called dbo.users that has the users’ contact and email information stored in columns named contact and email respectively. We can easily export this information to an Excel file by first creating a new instance of the model and calling its export method with the name of our export folder, which is usually some_folder/excel or some_folder/preview . The full code would look like
To export data in Excel from a blog using Laravel 9, you can follow these steps:
- Install the “maatwebsite/excel” package by running the following command in your Laravel project directory:
composer require maatwebsite/excel
2. Once the package is installed, open the config/app.php
file and add the following line to the providers
array:
Maatwebsite\Excel\ExcelServiceProvider::class,
3. In the same config/app.php
file, add the following line to the aliases
array:
'Excel' => Maatwebsite\Excel\Facades\Excel::class,
4. Create a new controller or use an existing one to handle the export logic. For example, let’s assume you have a BlogController
with an export
method. Open the BlogController.php
file and add the following code:
<?php
namespace App\Http\Controllers;
use App\Models\Blog;
use Maatwebsite\Excel\Facades\Excel;
class BlogController extends Controller
{
public function export()
{
$blogs = Blog::all();
$data = [];
foreach ($blogs as $blog) {
$data[] = [
'Title' => $blog->title,
'Author' => $blog->author,
'Content' => $blog->content,
'Created At' => $blog->created_at,
];
}
return Excel::download($data, 'blogs.xlsx');
}
}
5. Next, define a route to access the export functionality. Open the routes/web.php
file and add the following route:
Route::get('/export-blogs', [BlogController::class, 'export']);
6. Finally, you can access the export functionality by visiting the /export-blogs
URL in your web browser. This will download an Excel file named “blogs.xlsx” containing the blog data, including the title, author, content, and created date.
Note: Make sure to adjust the code according to your specific blog model and data structure.