1、简介
本文主要给大家介绍了关于laravel 5用laravel excel实现excel/csv文件导入导出的相关内容,下面话不多说了,来一起看看详细的介绍吧。
laravel excel 在 laravel 5 中集成 phpoffice 套件中的 phpexcel ,从而方便我们以优雅的、富有表现力的代码实现excel/csv文件的导入和 导出 。
该项目的github地址是: https://github.com/maatwebsite/laravel-excel。
2、安装&配置
使用composer安装依赖
本文我们将在laravel中使用laravel excel简单实现excel文件的导入和导出。
首先进入laravel项目根目录下使用composer安装依赖:
| 
 
								1
						  | 
composer require maatwebsite/excel=~2.0
 | 
安装后的设置
在 config/app.php 中注册服务提供者到 providers 数组:
| 
 
								1
						  | 
maatwebsite\\excel\\excelserviceprovider::class,
 | 
同样在 config/app.php 中注册门面到 aliases 数组:
| 
 
								1
						  | 
'excel' => maatwebsite\\excel\\facades\\excel::class,
 | 
如果想要对laravel excel进行更多的自定义配置,执行如下artisan命令:
| 
 
								1
						  | 
php artisan vendor:publish
 | 
执行成功后会在 config 目录下生成一个配置文件 excel.php 。
3、导出excel文件
为了演示laravel excel相关功能,我们为本测试创建一个干净的控制器excelcontroller.php:
| 
 
								1
						  | 
php artisan make:controller excelcontroller --plain
 | 
然后在routes.php中定义相关路由:
| 
 
								1
 
								2
						  | 
route::get('excel/export','excelcontroller@export');
route::get('excel/import','excelcontroller@import');
 | 
接下来我们先在excelcontroller.php中定义export方法实现导出功能:
| 
 
								1
 
								2
 
								3
 
								4
 
								5
 
								6
 
								7
 
								8
 
								9
 
								10
 
								11
 
								12
 
								13
 
								14
 
								15
 
								16
 
								17
 
								18
 
								19
 
								20
 
								21
 
								22
 
								23
 
								24
 
								25
 
								26
 
								27
 
								28
 
								29
 
								30
 
								31
 
								32
 
								33
						  | 
<?php
namespace 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');
}
}
 | 
也有一个方法是直接从数组导入
| 
 
								1
						  | 
$sheet->fromarray($anyarray);
 | 
如果你要导出csv或者xlsx文件,只需将export方法中的参数改成csv或xlsx即可。
如果还要将该excel文件保存到服务器上,可以使用store方法:
| 
 
								1
 
								2
 
								3
 
								4
 
								5
						  | 
excel::create('学生成绩',function($excel) use ($celldata){
$excel->sheet('score', function($sheet) use ($celldata){
$sheet->rows($celldata);
});
})->store('xls')->export('xls');
 | 
文件默认保存到storage/exports目录下,如果出现文件名中文乱码,将上述代码文件名做如下修改即可:
| 
 
								1
						  | 
iconv('utf-8', 'gbk', '学生成绩')
 | 
4、导入excel文件
我们将刚才保存到服务器上的excel文件导入进来,导入很简单,使用excel门面上的load方法即可:
| 
 
								1
 
								2
 
								3
 
								4
 
								5
 
								6
 
								7
 
								8
						  | 
//excel文件导入功能 by laravel学院
public function import(){
$filepath = 'storage/exports/'.iconv('utf-8', 'gbk', '学生成绩').'.xls';
excel::load($filepath, function($reader) {
$data = $reader->all();
dd($data);
});
}
 | 
load方法基于项目根路径作为根目录,同样我们对中文标题进行了转码,否则会提示文件不存在。
在浏览器中访问http://laravel.app:8000/excel/import,页面显示如下:
使用laravel excel导入文件
当然,laravel excel还有很多其它功能,比如将blade视图导出为excel或csv,以及对导入/导出更加细粒度的控制,具体可参考其官方文档:http://www.maatwebsite.nl/laravel-excel/docs
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对快网idc的支持。
原文链接:https://segmentfault.com/a/1190000007064712
相关文章
- 个人服务器网站搭建:如何选择适合自己的建站程序或框架? 2025-06-10
 - 64M VPS建站:能否支持高流量网站运行? 2025-06-10
 - 64M VPS建站:怎样选择合适的域名和SSL证书? 2025-06-10
 - 64M VPS建站:怎样优化以提高网站加载速度? 2025-06-10
 - 64M VPS建站:是否适合初学者操作和管理? 2025-06-10
 
- 2025-07-10 怎样使用阿里云的安全工具进行服务器漏洞扫描和修复?
 - 2025-07-10 怎样使用命令行工具优化Linux云服务器的Ping性能?
 - 2025-07-10 怎样使用Xshell连接华为云服务器,实现高效远程管理?
 - 2025-07-10 怎样利用云服务器D盘搭建稳定、高效的网站托管环境?
 - 2025-07-10 怎样使用阿里云的安全组功能来增强服务器防火墙的安全性?
 
快网idc优惠网
QQ交流群
- 
            2025-05-27 98
 - 
            2025-05-27 101
 - 
            2025-05-29 73
 - 
            2025-06-04 48
 - 
            2025-06-04 42
 
        


    		
            	
        
        
        