Laravel Impor Ekspor file Excel

0
(0)

Untuk aplikasi web, mengimpor data lembar Excel ke database kami dan mengekspor data dari database ke lembar Excel, adalah fitur penting. Karena fitur ini, kita dapat dengan mudah melakukan impor/ekspor data secara batch oleh aplikasi web. Sulit di Kerangka lain tetapi paling mudah di laravel 8. Ini memberikan paket Maatwebsite/excel untuk mengimpor/mengekspor data dengan mudah. Dalam artikel ini, kita belajar tentang, bagaimana data diekspor dan diimpor.

Fitur:

  • Secara efektif mengirimkan bermacam-macam ke Excel.
  • Kirim pertanyaan dengan penyambungan terprogram untuk eksekusi yang lebih baik.
  • Line mengirimkan untuk eksekusi yang lebih baik.
  • Secara efektif mengirimkan perspektif Blade ke Excel.
  • Efektif impor ke akumulasi.
  • Teliti catatan Excel berkeping-keping.
  • Tangani penyematan impor dalam rumpun.

Langkah-langkah untuk laravel Impor Ekspor data excel: Kami ingin mengikuti beberapa langkah untuk mengimpor dan mengekspor data dengan mudah. Ada 9 langkah mudah untuk diikuti.

  1. Instal proyek laravel baru
  2. Konfigurasikan detail dan model Database
  3. Instal maatwebsite/paket excel
  4. Buat Rute
  5. Buat kelas impor untuk mengimpor data
  6. Buat kelas ekspor untuk data ekspor
  7. Buat pengontrol
  8. Buat bilah / lihat file
  9. Jalankan proyek laravel

1. Instal proyek laravel baru: Pada langkah pertama, buat proyek laravel baru bernama laravel-excel. Gunakan perintah di bawah ini untuk membuat proyek laravel baru.

composer create-project laravel/laravel excel

2. Konfigurasikan detail Database dan buat model: Pada langkah kedua, atur konfigurasi database di file .env di laravel 8.

PHP

DB_CONNECTION=mysql

DB_HOST=127.0.0.1 

DB_PORT=8258

DB_DATABASE=laravel

DB_USERNAME=localhost 

DB_PASSWORD=

Membuat model: Kemudian buat model baru bernama User model untuk terhubung dengan tabel user di database. Di pengguna, tabel berisi berbagai bidang seperti ID, nama, telepon, dan email.

3. Instal paket maatwebsite/excel: Sekarang, dengan menggunakan composer, kita menginstal nama paket maatwebsite/excel untuk mengekspor dan mengimpor data dengan menggunakan composer

composer require maatwebsite/excel 

Setelah menginstal paket, kami ingin mendaftarkan layanan plugin di penyedia dan alias.

Kami ingin menulis kode berikut ke dalam config/app.php mengajukan:

PHP

<?php

    'providers' => [ 

      MaatwebsiteExcelExcelServiceProvider::class, ],

    'aliases' => [ 

      'Excel' => 

      MaatwebsiteExcelFacadesExcel::class, ],

?>

Untuk mempublikasikan konfigurasi di atas, jalankan vendor: terbitkan memerintah:

php artisan vendor:publish –provider=”MaatwebsiteExcelExcelServiceProvider” –tag=config

Perintah ini untuk membuat file konfigurasi baru config/excel.php

4. Buat Rute: Kemudian kami membuat rute untuk menangani permintaan dari file impor dan ekspor.

PHP

<?php

    use AppHttpControllersUserController; 

    Route::get('/file-import',[UserController::class,

            'importView'])->nama('import-view'); 

    Route::post('/import',[UserController::class,

            'import'])->nama('import'); 

    Route::get('/export-users',[UserController::class,

            'exportUsers'])->nama('export-users');

?>

5. Buat impor kelas impor untuk data impor: Paket maatwebsite/excel menyediakan Anda untuk membangun file kelas impor. Menggunakan perintah berikut, kami membuat file kelas impor.

php artisan make:import ImportUser --model=User

File akan dibuat di app/Imports/ImportUser.php jalur:

PHP

<?php

namespace AppImports;

use AppModelsUser;

use MaatwebsiteExcelConcernsToModel;

class ImportUser implements ToModel

{

   public function model(array $row)

   {

       return new Pengguna([

           'name' => $row[0],

           'email' => $row[1],

           'password' => bcrypt($row[2]),

       ]);

   }

}

6. Buat kelas Ekspor untuk data ekspor: Paket maatwebsite/excel menyediakan Anda untuk membangun file kelas ekspor. Menggunakan perintah berikut, kami membuat file kelas ekspor.

php artisan make:export ExportUser --model=User

File akan dibuat di app/Exports/ExportUser.php jalur:

PHP

<?php

    namespace AppExports; 

    use AppModelsUser;

    use MaatwebsiteExcelConcernsFromCollection; 

 

    class ExportUser implements FromCollection { 

        public function collection() 

        

            return User::select('name','email')->get(); 

        }

    }

?>

7. Buat Pengontrol: Untuk menampilkan data dari database, kita perlu membuat satu controller. Menggunakan perintah di bawah ini kami membuat pengontrol bernama UserController.

php artisan makes: controller UserController

Perintah di atas akan membuat file pengontrol UserController.php di jalan aplikasi/Http/pengontrol direktori.

Tulis kode di bawah ini ke dalam UserController.php mengajukan:

PHP

<?php

 

namespace AppHttpControllers;

use IlluminateHttpRequest;

use MaatwebsiteExcelFacadesExcel;

use AppImportsImportUser;

use AppExportsExportUser;

use AppModelsUser;

 

class UserController extends Controller

{

    public function importView(Request $request){

        return view('importFile');

    }

 

    public function import(Request $request){

        Excel::import(new ImportUser, 

                      $request->file('file')->store('files'));

        return redirect()->back();

    }

 

    public function exportUsers(Request $request){

        return Excel::download(new ExportUser, 'users.xlsx');

    }

 }

?>

8. Buat file Blade/Lihat: Untuk menangani ekspor dan impor di frontend aplikasi web, kita perlu membuat file view atau blade. Buat file bilah di resources/views/importFile.blade.php:

HTML

<!DOCTYPE html>

<html>

 

<head>

    <title> Import and Export Excel data to database Using Laravel 5.8 </title>

    <link rel="stylesheet"

        href=

</head>

 

<body>

    <h6> Import and Export Excel data to 

           database Using Laravel 5.8

    </h6>

    <div class="container">

        <div class="card bg-light mt-3">

            <div class="card-header">

                Import and Export Excel data 

                  to database Using Laravel 5.8

            </div>

            <div class="card-body">

                <form action="{{ route('import') }}"

                      method="POST"

                      enctype="multipart/form-data">

                    @csrf

                    <input type="file" name="file"

                           class="form-control">

                    <br>

                    <button class="btn btn-success">

                          Import User Data

                       </button>

                    <a class="btn btn-warning"

                       href="{{ route('export') }}">

                              Export User Data

                      </a>

                </form>

            </div>

        </div>

    </div>

 

</body>

 

</html>

9. Jalankan proyek laravel: Jalankan perintah di bawah ini pada command prompt dan centang http://localhost:8000/file-import di peramban:

php artisan serve

Keluaran:

Ekspor Impor Laravel

How useful was this post?

Click on a star to rate it!

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first to rate this post.