Rumah rangka kerja php Laravel Pembangunan Laravel: Bagaimana untuk menggunakan Laravel Excel untuk melaksanakan import dan eksport Excel?

Pembangunan Laravel: Bagaimana untuk menggunakan Laravel Excel untuk melaksanakan import dan eksport Excel?

Jun 13, 2023 pm 02:55 PM
laravel import cemerlang eksport cemerlang

Pembangunan Laravel: Bagaimana untuk menggunakan Laravel Excel untuk melaksanakan import dan eksport Excel?

Semasa pembangunan, jadual Excel sering digunakan untuk pemprosesan data, seperti import dan eksport data. Laravel Excel ialah sambungan Laravel yang ringkas dan berkuasa yang membolehkan kami memproses fail Excel dengan mudah, termasuk operasi membaca, menulis dan mengeksport fail Excel. Dalam artikel ini, kami akan memperkenalkan cara melaksanakan import dan eksport Excel menggunakan Laravel Excel.

  1. Pasang Laravel Excel

Menggunakan Laravel Excel dalam projek Laravel adalah sangat mudah Anda hanya perlu menambah kebergantungan pakej laravel-excel pada composer.json fail. Jalankan arahan berikut dalam baris arahan:

composer require maatwebsite/excel
Salin selepas log masuk
  1. Mengkonfigurasi Laravel Excel

Selepas memasang Laravel Excel, kita perlu melakukan beberapa konfigurasi untuk menggunakannya. Mula-mula, tambah kod berikut pada fail config/app.php:

'providers' => [
    // ...
    MaatwebsiteExcelExcelServiceProvider::class,
  ],

'aliases' => [
    // ...
    'Excel' => MaatwebsiteExcelFacadesExcel::class,
  ],
Salin selepas log masuk

Kemudian, kita perlu menerbitkan fail konfigurasi Laravel Excel dan laksanakan arahan berikut:

php artisan vendor:publish --provider="MaatwebsiteExcelExcelServiceProvider" --tag=config
Salin selepas log masuk

Ini akan dijana dalam direktori konfigurasi Fail excel.php, kita boleh membuat beberapa konfigurasi dalam fail ini, seperti format fail eksport, nama fail eksport lalai, dsb.

  1. Eksport fail Excel

Seterusnya, kami akan memperkenalkan cara menggunakan Laravel Excel untuk mengeksport fail Excel.

3.1 Buat kelas eksport

Pertama, kita perlu mencipta kelas eksport untuk menentukan format dan kandungan data yang dieksport. Jalankan arahan berikut dalam baris arahan:

php artisan make:export UsersExport --model=User
Salin selepas log masuk

Ini akan menjana kelas UsersExport dalam direktori aplikasi/Eksport, di mana format data dan kandungan fail Excel yang dieksport boleh ditakrifkan. Sebagai contoh, jika kami ingin mengeksport data jadual pengguna, kami boleh mentakrifkan kandungan berikut dalam kelas ini:

namespace AppExports;

use AppModelsUser;
use MaatwebsiteExcelConcernsFromCollection;

class UsersExport implements FromCollection
{
   public function collection()
   {
       return User::all();
   }
}
Salin selepas log masuk

Dalam kod di atas, kami menentukan melalui antara muka FromCollection bahawa sumber data yang dieksport ialah semua data pengguna dalam model Pengguna.

Selain antara muka FromCollection, Laravel Excel juga menyediakan beberapa antara muka lain, seperti FromQuery dan FromView, dsb. Anda boleh memilih antara muka yang sepadan mengikut keperluan sebenar.

3.2 Gunakan kelas eksport untuk mengeksport fail Excel

Selepas menentukan kelas eksport, kita boleh memanggil kelas eksport melalui kod berikut untuk mengeksport data ke fail Excel:

use AppExportsUsersExport;
use MaatwebsiteExcelFacadesExcel;

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

Dalam kod di atas, kami menggunakan kaedah Excel::download() untuk mengeluarkan fail Excel, dengan parameter pertama ialah objek kelas eksport yang baru dibuat dan parameter kedua ialah nama fail Excel.

  1. Import fail Excel

Seterusnya, kami akan memperkenalkan cara menggunakan Laravel Excel untuk mengimport fail Excel.

4.1 Cipta kelas import

Pertama, kita perlu mencipta kelas import untuk menentukan format dan kandungan data yang diimport. Jalankan arahan berikut dalam baris arahan:

php artisan make:import UsersImport --model=User
Salin selepas log masuk

Ini akan menjana kelas UsersImport dalam direktori aplikasi/Import, di mana format data dan kandungan fail Excel yang diimport boleh ditakrifkan. Sebagai contoh, jika kami ingin mengimport data daripada jadual Pengguna, kami boleh mentakrifkan kandungan berikut dalam kelas ini:

rreee

Dalam kod di atas, kami memetakan setiap baris data dalam fail Excel kepada sifat model Pengguna melalui antara muka ToModel pada jadual, dan tentukan baris pertama fail Excel sebagai pengepala (iaitu, nama atribut) melalui antara muka WithHeadingRow.

Selain antara muka ToModel dan WithHeadingRow, Laravel Excel juga menyediakan beberapa antara muka lain, seperti ToCollection dan ToModel, dll. Anda boleh memilih antara muka yang sepadan mengikut keperluan sebenar.

4.2 Gunakan kelas import untuk mengimport fail Excel

Selepas menentukan kelas import, kita boleh memanggil kelas import melalui kod berikut untuk mengimport data daripada fail Excel ke dalam pangkalan data:

namespace AppImports;

use AppModelsUser;
use MaatwebsiteExcelConcernsToModel;
use MaatwebsiteExcelConcernsWithHeadingRow;

class UsersImport implements ToModel, WithHeadingRow
{
    public function model(array $row)
    {
        return new User([
            'name'     => $row['name'],
            'email'    => $row['email'],
            'password' => Hash::make($row['password']),
        ]);
    }
}
Salin selepas log masuk

Dalam kod di atas, kami menggunakan kaedah Excel::import() untuk mengimport fail Excel, dengan parameter pertama ialah objek kelas import yang baru dibuat dan parameter kedua ialah fail Excel yang dimuat naik.

  1. Kesimpulan

Melalui Laravel Excel, kami boleh melaksanakan fungsi import dan eksport fail Excel dengan mudah, sekaligus memudahkan proses pemprosesan data. Dalam pembangunan projek sebenar, menggunakan Laravel Excel boleh meningkatkan kecekapan pembangunan dan mengurangkan kos pembangunan. Semoga artikel ini bermanfaat kepada anda.

Atas ialah kandungan terperinci Pembangunan Laravel: Bagaimana untuk menggunakan Laravel Excel untuk melaksanakan import dan eksport Excel?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Laravel - Perintah Artisan Laravel - Perintah Artisan Aug 27, 2024 am 10:51 AM

Laravel - Perintah Artisan - Laravel 5.7 hadir dengan cara baharu untuk merawat dan menguji arahan baharu. Ia termasuk ciri baharu untuk menguji arahan artisan dan demonstrasi disebut di bawah?

Laravel - Penyesuaian Penomboran Laravel - Penyesuaian Penomboran Aug 27, 2024 am 10:51 AM

Laravel - Penyesuaian Penomboran - Laravel termasuk ciri penomboran yang membantu pengguna atau pembangun menyertakan ciri penomboran. Paginator Laravel disepadukan dengan pembina pertanyaan dan ORM Fasih. Kaedah penomboran automatik

Bagaimana untuk mendapatkan kod pengembalian semasa menghantar e -mel gagal di Laravel? Bagaimana untuk mendapatkan kod pengembalian semasa menghantar e -mel gagal di Laravel? Apr 01, 2025 pm 02:45 PM

Kaedah untuk mendapatkan kod kembali apabila menghantar e -mel Laravel gagal. Apabila menggunakan Laravel untuk membangunkan aplikasi, anda sering menghadapi situasi di mana anda perlu menghantar kod pengesahan. Dan pada hakikatnya ...

Tugas Jadual Laravel tidak dilaksanakan: Apa yang harus saya lakukan jika tugas itu tidak berjalan selepas Jadual: Jalankan Perintah? Tugas Jadual Laravel tidak dilaksanakan: Apa yang harus saya lakukan jika tugas itu tidak berjalan selepas Jadual: Jalankan Perintah? Mar 31, 2025 pm 11:24 PM

Tugas Jadual Laravel menjalankan penyelesaian masalah yang tidak responsif semasa menggunakan penjadualan tugas jadual Laravel, banyak pemaju akan menghadapi masalah ini: Jadual: Jalankan ...

Di Laravel, bagaimana menangani situasi di mana kod pengesahan gagal dihantar melalui e -mel? Di Laravel, bagaimana menangani situasi di mana kod pengesahan gagal dihantar melalui e -mel? Mar 31, 2025 pm 11:48 PM

Kaedah mengendalikan kegagalan e -mel Laravel untuk menghantar kod pengesahan adalah menggunakan Laravel ...

Bagaimana untuk melaksanakan fungsi jadual tersuai untuk mengklik untuk menambah data dalam admin dcat? Bagaimana untuk melaksanakan fungsi jadual tersuai untuk mengklik untuk menambah data dalam admin dcat? Apr 01, 2025 am 07:09 AM

Cara melaksanakan fungsi jadual klik tersuai untuk menambah data dalam dcatadmin (laravel-admin) semasa menggunakan dcat ...

Laravel - Pelayan Buang Laravel - Pelayan Buang Aug 27, 2024 am 10:51 AM

Laravel - Dump Server - Laravel dump server datang dengan versi Laravel 5.7. Versi sebelumnya tidak termasuk pelayan dump. Pelayan dump akan menjadi kebergantungan pembangunan dalam fail komposer laravel/laravel.

Perkongsian Sambungan Laravel Redis: Mengapa kaedah pilih mempengaruhi sambungan lain? Perkongsian Sambungan Laravel Redis: Mengapa kaedah pilih mempengaruhi sambungan lain? Apr 01, 2025 am 07:45 AM

Kesan perkongsian sambungan Redis dalam rangka kerja Laravel dan pilih kaedah apabila menggunakan Rangka Kerja Laravel dan Redis, pemaju mungkin menghadapi masalah: melalui konfigurasi ...

See all articles