Rumah rangka kerja php Laravel Pembangunan Laravel: Bagaimana untuk mengimport dan mengeksport fail Excel menggunakan Laravel Excel?

Pembangunan Laravel: Bagaimana untuk mengimport dan mengeksport fail Excel menggunakan Laravel Excel?

Jun 15, 2023 pm 04:13 PM
excel laravel Import/Eksport

Pembangunan Laravel: Bagaimana untuk menggunakan Laravel Excel untuk mengimport dan mengeksport fail Excel?

Dengan perkembangan pesat Internet, pemprosesan data menjadi semakin penting, terutamanya dalam pengurusan data perusahaan. Fail Excel telah menjadi salah satu alat penting untuk pejabat korporat kerana ia boleh menyimpan, mengedit, mengira dan menganalisis data dengan mudah. Laravel ialah rangka kerja PHP yang digunakan secara meluas, dan Laravel Excel ialah pakej sambungan operasi fail Excel yang dibangunkan untuk Laravel, yang boleh mengimport dan mengeksport fail Excel dengan mudah.

Artikel ini akan memperkenalkan anda kepada penggunaan Laravel Excel secara terperinci. Dalam artikel ini, kita akan belajar cara memasang Laravel Excel dan mengimport serta mengeksport fail Excel.

1. Pasang Laravel Excel

Pasang Laravel Excel melalui Composer dalam terminal

composer require maatwebsite/excel
Salin selepas log masuk

Jika anda menggunakan versi Laravel kurang daripada 5.5, anda perlu mengkonfigurasi/app.php Dua pembekal perkhidmatan berikut dikonfigurasikan dalam fail:

MaatwebsiteExcelExcelServiceProvider::class,
Salin selepas log masuk
'Excel' => MaatwebsiteExcelFacadesExcel::class,
Salin selepas log masuk

Jika anda menggunakan versi Laravel yang lebih besar daripada atau sama dengan 5.5, anda tidak perlu menambah pembekal perkhidmatan secara manual, pembekal perkhidmatan ini akan ditambah secara automatik pada konfigurasi.

Terbitkan melalui arahan Artisan di terminal:

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

Ini akan menjana fail konfigurasi dan fail templat berikut secara automatik:

config/excel.php
resources/views/vendor/excel
Salin selepas log masuk

2. Konfigurasikan Laravel Excel

Fail konfigurasi excel.php mengandungi semua pilihan konfigurasi untuk Laravel Excel. Pilihan ini boleh ditakrifkan terus dalam fail .env atau dikonfigurasikan dalam fail config/excel.php. Di bawah ialah penerangan terperinci tentang semua pilihan yang mungkin.

'default_driver' => 'local',
Salin selepas log masuk

Pilihan "default_driver" menentukan pemacu lalai untuk digunakan Terdapat dua pilihan di sini: local, ftp.

'cache' => [
    'enabled' => true,
    'driver' => 'laravel',
],
Salin selepas log masuk

Pilihan "cache" menentukan pilihan caching boleh meningkatkan kelajuan, terutamanya apabila memproses sejumlah besar data. Apabila caching didayakan, tetapkan "cache_driver" kepada "laravel" atau "memcached".

'temp_path' => sys_get_temp_dir(),
Salin selepas log masuk

Option temp_path menentukan laluan sistem fail untuk digunakan untuk menyimpan fail sementara.

'csv' => [
    'delimiter' => ',',
    'enclosure' => '"',
    'escape_character' => '\',
    'input_encoding' => 'UTF-8',
    'output_encoding' => 'UTF-8',
    'use_bom' => false,
],
Salin selepas log masuk

Pilihan "csv" membenarkan mengkonfigurasi pilihan import dan eksport CSV, terutamanya termasuk pilihan berikut:

pembatas: pembatas, seperti: koma, koma bertitik, Tab, dsb.

kepungan: Simbol kepungan lajur.

escape_character: watak melarikan diri.

pengekodan_input: pengekodan input.

pengekodan_keluaran: pengekodan output.

use_bom: Sama ada hendak menggunakan perintah bait Bom.

'exports' => [
    'force_resave' => false,
    'ignore_empty' => false,
    'pre_calculate_formulas' => false,
    'maximum_recursion' => 50,
],
Salin selepas log masuk

Pilihan "eksport" membenarkan mengkonfigurasi pilihan eksport, yang terutamanya termasuk pilihan berikut:

force_resave: sama ada untuk memaksa menyimpan.

ignore_empty: Sama ada hendak mengabaikan sel kosong.

formula_pra_kira: Sama ada mahu membuat prakira formula.

maximum_recursion: Bilangan maksimum tahap rekursi.

3. Eksport fail Excel

Laravel Excel menyediakan sokongan yang baik untuk mengeksport fail Excel. Seterusnya kami akan menunjukkan cara menggunakan Laravel Excel untuk eksport data.

Mula-mula, buka fail pengawal, buat fail Excel baharu dan eksport data:

<?php

namespace AppHttpControllers;

use MaatwebsiteExcelFacadesExcel;
use AppExportsUsersExport;

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

Dalam kaedah pengawal di atas, kami mencipta fail Excel menggunakan kaedah Excel::download() . Kaedah ini menerima dua parameter:

  • Pengguna parameter pertama ialah data yang dieksport. Kami melaksanakan eksport data dengan mencipta kelas tambahan UsersExport dengan kaedah toExcel().
  • Parameter kedua ialah nama fail, ia diperlukan.

Kandungan fail UsersExport adalah seperti berikut:

<?php

namespace AppExports;

use MaatwebsiteExcelConcernsFromCollection;
use AppUser;

class UsersExport implements FromCollection
{
    public function collection()
    {
        return User::select('id', 'name', 'email')->get();
    }
}
Salin selepas log masuk

Kelas ini perlu melaksanakan antara muka MaatwebsiteExcelConcernsFromCollection. Kita dapat melihat bahawa FromCollection mengembalikan kelas koleksi, di mana kaedah get() akan mengembalikan semua pengguna yang disimpan dalam kelas.

Dengan cara ini, kami telah menyelesaikan operasi eksport Laravel Excel.

4. Import fail Excel

Laravel Excel juga menyediakan sokongan yang sangat baik untuk operasi import fail Excel. Seterusnya kami akan menunjukkan cara menggunakan Laravel Excel untuk mengimport data daripada fail Excel.

Pertama, buka fail pengawal dan import data dalam fail Excel ke dalam pangkalan data:

<?php

namespace AppHttpControllers;

use IlluminateHttpRequest;
use AppImportsUsersImport;

class ImportController extends Controller
{
    public function import(Request $request)
    {
        $file = $request->file('file');
        Excel::import(new UsersImport, $file);
        return redirect('/')->with('success', 'Excel 数据已成功导入!');
    }
}
Salin selepas log masuk

Dalam kaedah pengawal di atas, kami menggunakan kaedah Excel::import() untuk mengimport Fail Excel. Kaedah ini menerima dua parameter:

  • Parameter pertama ialah UsersImport, iaitu kelas untuk mengimport fail Excel ke dalam pangkalan data.
  • Parameter kedua ialah fail Excel yang akan diimport, yang mengandungi data yang akan diimport.

Sekarang, mari kita lihat kelas UsersImport:

<?php

namespace AppImports;

use MaatwebsiteExcelConcernsToModel;
use AppUser;

class UsersImport implements ToModel
{
    public function model(array $row)
    {
        return new User([
            'name' => $row[0],
            'email' => $row[1],
            'password' => bcrypt($row[2])
        ]);
    }
}
Salin selepas log masuk

Seperti yang anda lihat, kelas ini perlu melaksanakan antara muka MaatwebsiteExcelConcernsToModel, yang mentakrifkan kaedah model(). Kaedah ini akan digunakan untuk menentukan atribut pengguna baharu.

Dalam kaedah model(), kami menggunakan maklumat baris data tatasusunan untuk menyimpan atribut pengguna. Di sini kita menganggap bahawa baris pertama dalam fail Excel ialah nama pengguna, baris kedua ialah alamat e-mel, dan baris ketiga ialah kata laluan.

Ini adalah cara kami mengimport dan mengeksport fail Excel menggunakan Laravel Excel. Saya percaya anda telah mempelajari tentang penggunaan asas dan beberapa ciri lanjutan Laravel Excel. Semoga artikel ini berguna untuk pembelajaran Laravel anda.

Atas ialah kandungan terperinci Pembangunan Laravel: Bagaimana untuk mengimport dan mengeksport fail Excel menggunakan Laravel 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.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

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)

Koleksi lengkap formula fungsi excel Koleksi lengkap formula fungsi excel May 07, 2024 pm 12:04 PM

1. Fungsi SUM digunakan untuk menjumlahkan nombor dalam lajur atau sekumpulan sel, contohnya: =SUM(A1:J10). 2. Fungsi AVERAGE digunakan untuk mengira purata nombor dalam lajur atau sekumpulan sel, contohnya: =AVERAGE(A1:A10). 3. Fungsi COUNT, digunakan untuk mengira bilangan nombor atau teks dalam lajur atau sekumpulan sel, contohnya: =COUNT(A1:A10) 4. Fungsi IF, digunakan untuk membuat pertimbangan logik berdasarkan syarat yang ditentukan dan mengembalikan hasil yang sepadan.

Perbandingan versi terkini Laravel dan CodeIgniter Perbandingan versi terkini Laravel dan CodeIgniter Jun 05, 2024 pm 05:29 PM

Versi terkini Laravel 9 dan CodeIgniter 4 menyediakan ciri dan penambahbaikan yang dikemas kini. Laravel9 menggunakan seni bina MVC dan menyediakan fungsi seperti migrasi pangkalan data, pengesahan dan enjin templat. CodeIgniter4 menggunakan seni bina HMVC untuk menyediakan penghalaan, ORM dan caching. Dari segi prestasi, corak reka bentuk berasaskan pembekal perkhidmatan Laravel9 dan rangka kerja ringan CodeIgniter4 memberikannya prestasi cemerlang. Dalam aplikasi praktikal, Laravel9 sesuai untuk projek kompleks yang memerlukan fleksibiliti dan fungsi berkuasa, manakala CodeIgniter4 sesuai untuk pembangunan pesat dan aplikasi kecil.

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?

Bagaimanakah keupayaan pemprosesan data dalam Laravel dan CodeIgniter dibandingkan? Bagaimanakah keupayaan pemprosesan data dalam Laravel dan CodeIgniter dibandingkan? Jun 01, 2024 pm 01:34 PM

Bandingkan keupayaan pemprosesan data Laravel dan CodeIgniter: ORM: Laravel menggunakan EloquentORM, yang menyediakan pemetaan hubungan kelas-objek, manakala CodeIgniter menggunakan ActiveRecord untuk mewakili model pangkalan data sebagai subkelas kelas PHP. Pembina pertanyaan: Laravel mempunyai API pertanyaan berantai yang fleksibel, manakala pembina pertanyaan CodeIgniter lebih ringkas dan berasaskan tatasusunan. Pengesahan data: Laravel menyediakan kelas Pengesah yang menyokong peraturan pengesahan tersuai, manakala CodeIgniter mempunyai kurang fungsi pengesahan terbina dalam dan memerlukan pengekodan manual peraturan tersuai. Kes praktikal: Contoh pendaftaran pengguna menunjukkan Lar

Mana satu yang lebih mesra pemula, Laravel atau CodeIgniter? Mana satu yang lebih mesra pemula, Laravel atau CodeIgniter? Jun 05, 2024 pm 07:50 PM

Untuk pemula, CodeIgniter mempunyai keluk pembelajaran yang lebih lembut dan ciri yang lebih sedikit, tetapi meliputi keperluan asas. Laravel menawarkan set ciri yang lebih luas tetapi mempunyai keluk pembelajaran yang lebih curam. Dari segi prestasi, kedua-dua Laravel dan CodeIgniter berprestasi baik. Laravel mempunyai dokumentasi yang lebih luas dan sokongan komuniti yang aktif, manakala CodeIgniter lebih ringkas, ringan dan mempunyai ciri keselamatan yang kukuh. Dalam kes praktikal membina aplikasi blog, EloquentORM Laravel memudahkan manipulasi data, manakala CodeIgniter memerlukan lebih banyak konfigurasi manual.

Laravel vs CodeIgniter: Rangka kerja manakah yang lebih baik untuk projek besar? Laravel vs CodeIgniter: Rangka kerja manakah yang lebih baik untuk projek besar? Jun 04, 2024 am 09:09 AM

Apabila memilih rangka kerja untuk projek besar, Laravel dan CodeIgniter masing-masing mempunyai kelebihan mereka sendiri. Laravel direka untuk aplikasi peringkat perusahaan, menawarkan reka bentuk modular, suntikan pergantungan dan set ciri yang berkuasa. CodeIgniter ialah rangka kerja ringan yang lebih sesuai untuk projek kecil hingga sederhana, menekankan kelajuan dan kemudahan penggunaan. Untuk projek besar dengan keperluan yang kompleks dan bilangan pengguna yang ramai, kuasa dan kebolehskalaan Laravel adalah lebih sesuai. Untuk projek atau situasi mudah dengan sumber terhad, keupayaan pembangunan CodeIgniter yang ringan dan pantas adalah lebih ideal.

Laravel vs CodeIgniter: Rangka kerja manakah yang lebih baik untuk projek kecil? Laravel vs CodeIgniter: Rangka kerja manakah yang lebih baik untuk projek kecil? Jun 04, 2024 pm 05:29 PM

Untuk projek kecil, Laravel sesuai untuk projek yang lebih besar yang memerlukan fungsi dan keselamatan yang kukuh. CodeIgniter sesuai untuk projek yang sangat kecil yang memerlukan ringan dan mudah digunakan.

Soalan dan Jawapan mengenai Reka Bentuk Seni Bina Perkhidmatan Mikro Aplikasi PHP Enterprise Soalan dan Jawapan mengenai Reka Bentuk Seni Bina Perkhidmatan Mikro Aplikasi PHP Enterprise May 07, 2024 am 09:36 AM

Seni bina perkhidmatan mikro menggunakan rangka kerja PHP (seperti Symfony dan Laravel) untuk melaksanakan perkhidmatan mikro dan mengikut prinsip RESTful dan format data standard untuk mereka bentuk API. Perkhidmatan mikro berkomunikasi melalui baris gilir mesej, permintaan HTTP atau gRPC dan menggunakan alatan seperti Prometheus dan ELKStack untuk pemantauan dan penyelesaian masalah.

See all articles