[关闭]
@lgh-dev 2019-04-11T08:47:24.000000Z 字数 1408 阅读 1486

Laravel中使用Laravel Excel 实现Excel文件导入导出

PHP


composer Excel PHP

原文地址 https://blog.csdn.net/weixin_38682852/article/details/79570377

1、composer加载依赖

  1. composer require maatwebsite/excel ~2.1.0

如果加载比较慢可参照此文章composer改国内镜像;

安装成功之后,composer.json文件里的"require"多了一行:

  1. "maatwebsite/excel": "~2.1.0",

还有vendor目录下面多了一个maatwebsite的文件夹

2、配置laravel支持Excel

在config/app.php中注册服务提供者到providers数组:

  1. Maatwebsite\Excel\ExcelServiceProvider::class,

同样在config/app.php中注册门面到aliases数组:

  1. 'Excel' => Maatwebsite\Excel\Facades\Excel::class,

3、导入导出demo代码

3.1导入代码示例
导入很简单,使用Excel门面上的load方法即可

  1. //可以是文件的内容,也可以是上传文件的临时文件
  2. $filePath = "demo.xls";
  3. $data = \Excel::load($filePath, function($reader) {
  4. },'UTF-8')->toArray();
  5. #$data,就是读取的excel文件中的值

3.2导出代码示例

  1. //Excel文件导出功能 By Laravel学院
  2. public function export(){
  3. //要导出的测试数据格式
  4. $cellData = [
  5. ['编号','姓名','绩效','电话号码'],
  6. ['10001','AAAAA','99','150-xxxx-xxxx'],
  7. ['10002','BBBBB','92','137-xxxx-xxxx'],
  8. ['10003','CCCCC','95','157-xxxx-xxxx'],
  9. ['10004','DDDDD','89','177-xxxx-xxxx'],
  10. ['10005','EEEEE','96','188-xxxx-xxxx'],
  11. ['10006','FFFFF','96','180-xxxx-xxxx'],
  12. ['10007','ggggg','96','181-xxxx-xxxx'],
  13. ['10008','HHHHH','96','182-xxxx-xxxx'],
  14. ];
  15. //如果你要导出csv或者xlsx文件,只需将 export 方法中的参数改成csv或xlsx即可。
  16. //如果还要将该Excel文件保存到服务器上,可以使用 store 方法
  17. \Excel::create(iconv('UTF-8', 'GBK', 'excel模板文件'),function($excel) use ($cellData){
  18. $excel->sheet('demo数据', function($sheet) use ($cellData){
  19. $sheet->rows($cellData);
  20. });
  21. })->store('xls')->export('xls');
  22. }

你也可以自主的选择把他们封装到一个类中,这样的话会方便你的使用,
好好享受好的依赖包的使用吧!!!

Enjoy It !

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注