


Pembangunan Laravel: Bagaimana untuk mengimport dan mengeksport fail Excel menggunakan Laravel Excel?
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
Jika anda menggunakan versi Laravel kurang daripada 5.5, anda perlu mengkonfigurasi/app.php Dua pembekal perkhidmatan berikut dikonfigurasikan dalam fail:
MaatwebsiteExcelExcelServiceProvider::class,
'Excel' => MaatwebsiteExcelFacadesExcel::class,
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"
Ini akan menjana fail konfigurasi dan fail templat berikut secara automatik:
config/excel.php resources/views/vendor/excel
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',
Pilihan "default_driver" menentukan pemacu lalai untuk digunakan Terdapat dua pilihan di sini: local, ftp.
'cache' => [ 'enabled' => true, 'driver' => 'laravel', ],
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(),
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, ],
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, ],
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'); } }
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(); } }
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 数据已成功导入!'); } }
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]) ]); } }
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!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



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.

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 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?

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

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.

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.

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.

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.
