首页 > 开发 > PHP > 正文

Laravel 5使用Laravel Excel实现Excel/CSV文件导入导出的功能详解

2024-05-04 22:45:15
字体:
来源:转载
供稿:网友

1、简介

本文主要给大家介绍了关于Laravel 5用Laravel Excel实现Excel/CSV文件导入导出的相关内容,下面话不多说了,来一起看看详细的介绍吧。

Laravel Excel 在 Laravel 5 中集成 PHPOffice 套件中的 PHPExcel ,从而方便我们以优雅的、富有表现力的代码实现Excel/CSV文件的导入和 导出 。

该项目的GitHub地址是: https://github.com/Maatwebsite/Laravel-Excel。

本地下载地址:http://xiazai.jb51.net/201710/yuanma/Laravel-Excel-2.1(jb51.net).rar

2、安装&配置

使用Composer安装依赖

本文我们将在Laravel中使用Laravel Excel简单实现Excel文件的导入和导出。

首先进入Laravel项目根目录下使用Composer安装依赖:

composer require maatwebsite/excel=~2.0 

安装后的设置

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

Maatwebsite/Excel/ExcelServiceProvider::class,

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

'Excel' => Maatwebsite/Excel/Facades/Excel::class,

如果想要对Laravel Excel进行更多的自定义配置,执行如下Artisan命令:

php artisan vendor:publish

执行成功后会在 config 目录下生成一个配置文件 excel.php 。

3、导出Excel文件

为了演示Laravel Excel相关功能,我们为本测试创建一个干净的控制器ExcelController.php:

php artisan make:controller ExcelController --plain

然后在routes.php中定义相关路由:

Route::get('excel/export','ExcelController@export');Route::get('excel/import','ExcelController@import');

接下来我们先在ExcelController.php中定义export方法实现导出功能:

<?phpnamespace App/Http/Controllers;use Illuminate/Http/Request;use App/Http/Requests;use App/Http/Controllers/Controller;use Excel;class ExcelController extends Controller{ // Excel 文件到处功能 public function export() {  $cellData = [   ['学号','姓名','成绩'],   ['10001','AAAAA','99'],   ['10002','BBBBB','92'],   ['10003','CCCCC','95'],   ['10004','DDDDD','89'],   ['10005','EEEEE','96'],  ];  Excel::create('学生成绩',function ($excel) use ($cellData){   $excel->sheet('score', function ($sheet) use ($cellData){    $sheet->rows($cellData);   });  })->export('xls'); }}


也有一个方法是直接从数组导入

$sheet->fromArray($anyArray);

如果你要导出csv或者xlsx文件,只需将export方法中的参数改成csv或xlsx即可。

如果还要将该Excel文件保存到服务器上,可以使用store方法:

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表