如何在 Laravel 项目中处理 Excel 文件
本文经授权转自 PHPHub 社区
说明
maatwebsite/excel 是一款强大的 Excel 文件处理扩展包, 能够快速完成 Excel 文件的的导出, 解析等功能.
本项目由 The EST Group 团队成员 @monkey 整理发布, 首发地为 PHPHub 社区.
文章的 DEMO 项目
截图
运行
Demo 代码请见:
https://github.com/zhengjinghua/est-excel-demo
请参照此文档运行 Demo:
https://phphub.org/topics/1902
文章概览
- 安装;
- 基础用法;
- 更多功能.
接下来是详细解说.
安装
1). 使用 Composer 安装该扩展包:
composer require maatwebsite/excel
2). 安装完成后,修改 config/app.php 在 providers 数组内追加如下内容
'providers' => [ ... Maatwebsite\Excel\ExcelServiceProvider::class,],
3). 同时在 aliases 数组内追加如下内容:
'aliases' => [ ... 'Excel' => Maatwebsite\Excel\Facades\Excel::class,]
4). 接下来运行以下命令生成此扩展包的配置文件 config/excel.php:
php artisan vendor:publish --provider="Maatwebsite\Excel\ExcelServiceProvider"
默认配置基本能通用大部分的项目开发需求, 因此本文不对此配置文件做过多叙述, 想深入研究的童鞋可以阅读官方文档.
到此, 此拓展包即安装成功 :beers?beers:
基础用法
解析 Excel 文件
# $excel_file_path = 你的 Excel 文件存放地址$excel_data = Excel::load($excel_file_path, function($reader) { $excel_data = Excel::load($excel_file_path)->get()->toArray(); // 直接打印内容即可看到效果 echo 'job.xlsx 表格内容为:'; dd($excel_data);});
将数据导成 Excel 文件
// 导出 Excel 并能直接在浏览器下载# $export_file_name = 要生成的文件名Excel::create($export_file_name, function ($excel) { $excel->sheet('Sheetname', function ($sheet) { $sheet->appendRow(['data 1', 'data 2']); $sheet->appendRow(['data 3', 'data 4']); $sheet->appendRow(['data 5', 'data 6']); });})->download('xls');// 导出 Excel 并存储到指定目录Excel::create($export_file_name, function ($excel) { $excel->sheet('Sheetname', function ($sheet) { $sheet->appendRow(['data 1', 'data 2']); $sheet->appendRow(['data 3', 'data 4']); $sheet->appendRow(['data 5', 'data 6']); });})->store('xls', $object_path);
导出的 Excel 内容见下图:
更多功能
除了上述的解析/导出功能外, 此扩展包还支持:
- 解析指定表格里的指定列;
- 格式化日期;
- 添加计算公式;
- 缓存表格;
- 批量解析指定目录里的所有 Excel 文件;
- 可以做格式转换, 如将 csv 转换成 xls, 反之亦可;
- 可以将 Excel 结合 blade 模板引擎进行渲染.
这些更多的用例请移步 官方文档 参考.
欢迎关注 LaravelTips, 一个专注于为 Laravel 开发者服务, 致力于帮助开发者更好的掌握 Laravel 框架, 提升开发效率的微信公众号.

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



Alipay Php ...

JWT adalah standard terbuka berdasarkan JSON, yang digunakan untuk menghantar maklumat secara selamat antara pihak, terutamanya untuk pengesahan identiti dan pertukaran maklumat. 1. JWT terdiri daripada tiga bahagian: header, muatan dan tandatangan. 2. Prinsip kerja JWT termasuk tiga langkah: menjana JWT, mengesahkan JWT dan muatan parsing. 3. Apabila menggunakan JWT untuk pengesahan di PHP, JWT boleh dijana dan disahkan, dan peranan pengguna dan maklumat kebenaran boleh dimasukkan dalam penggunaan lanjutan. 4. Kesilapan umum termasuk kegagalan pengesahan tandatangan, tamat tempoh, dan muatan besar. Kemahiran penyahpepijatan termasuk menggunakan alat debugging dan pembalakan. 5. Pengoptimuman prestasi dan amalan terbaik termasuk menggunakan algoritma tandatangan yang sesuai, menetapkan tempoh kesahihan dengan munasabah,

Penerapan prinsip pepejal dalam pembangunan PHP termasuk: 1. Prinsip Tanggungjawab Tunggal (SRP): Setiap kelas bertanggungjawab untuk hanya satu fungsi. 2. Prinsip Terbuka dan Tutup (OCP): Perubahan dicapai melalui lanjutan dan bukannya pengubahsuaian. 3. Prinsip Penggantian Lisch (LSP): Subkelas boleh menggantikan kelas asas tanpa menjejaskan ketepatan program. 4. Prinsip Pengasingan Antara Muka (ISP): Gunakan antara muka halus untuk mengelakkan kebergantungan dan kaedah yang tidak digunakan. 5. Prinsip Inversi Ketergantungan (DIP): Modul peringkat tinggi dan rendah bergantung kepada abstraksi dan dilaksanakan melalui suntikan ketergantungan.

Artikel membincangkan pengikatan statik lewat (LSB) dalam PHP, yang diperkenalkan dalam Php 5.3, yang membolehkan resolusi runtime kaedah statik memerlukan lebih banyak warisan yang fleksibel. Isu: LSB vs polimorfisme tradisional; Aplikasi Praktikal LSB dan Potensi Perfo

Bagaimana untuk menetapkan keizinan UnixSocket secara automatik selepas sistem dimulakan semula. Setiap kali sistem dimulakan semula, kita perlu melaksanakan perintah berikut untuk mengubahsuai keizinan UnixSocket: sudo ...

Menghantar data JSON menggunakan perpustakaan Curl PHP dalam pembangunan PHP, sering kali perlu berinteraksi dengan API luaran. Salah satu cara biasa ialah menggunakan perpustakaan curl untuk menghantar post ...

Artikel membincangkan ciri -ciri keselamatan penting dalam rangka kerja untuk melindungi daripada kelemahan, termasuk pengesahan input, pengesahan, dan kemas kini tetap.

Artikel ini membincangkan menambah fungsi khusus kepada kerangka kerja, memberi tumpuan kepada pemahaman seni bina, mengenal pasti titik lanjutan, dan amalan terbaik untuk integrasi dan debugging.
