laravel5.5 excel的安装和使用
Posted 似梦似醒
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了laravel5.5 excel的安装和使用相关的知识,希望对你有一定的参考价值。
(文章引用来源 http://www.cnblogs.com/djwhome/p/9322112.html 有自己的补充用于记录)
(在此次项目中,本人亲自尝试,标题中文无论如何转换(GBK、gb2312、utf-8)都不能正常读取。包括.xsl 文件中存在中文也不能正常读取。所以本人放弃了.xsl中的一切中文)
在项目开发中 最常用的就是把数据导出成excel的文件报表了
然而新下的项目中啥也没有;没有excel的扩展
会报这个错误
然后你需要通过composer安装这个依赖
学习源头:https://www.jianshu.com/p/4a2457efbf91
excel官方文档:http://laravelacademy.org/post/2024.html
1,使用Composer安装依赖
在Laravel项目根目录下使用Composer安装依赖:
composer require maatwebsite/excel ~2.1
ps:一定要加上~2.1!!!因为现在已经更新到3.0版本了,如果你不加的话,会安装最新的3.0版本!等运行时候就会报错,类似下面这样的报错
Symfony\\Component\\Debug\\Exception\\FatalThrowableError(E_ERROR)Call to undefined method Maatwebsite\\Excel\\Excel::create(),
2,安装后,修改设置
在config/app.php中注册服务提供者到providers数组:
Maatwebsite\\Excel\\ExcelServiceProvider::class,
在config/app.php中注册门面到aliases数组:
\'Excel\' => Maatwebsite\\Excel\\Facades\\Excel::class,
3、测试Excel文件
创建一个控制器ExcelController.php:
php artisan make:controller ExcelController
然后在routes.php中定义相关路由:
Route::get(\'excel/export\',\'ExcelController@export\');
Route::get(\'excel/import\',\'ExcelController@import\');
然后实现导出、导入功能:
<?php
namespace App\\Http\\Controllers;
use App\\Http\\Requests;
use Illuminate\\Http\\Request;
use App\\Http\\Controllers\\Controller;
use Excel;
class ExcelController extends Controller
{
public function export()
{
$cellData = [
[\'id\',\'name\',\'number\'],
[\'10001\',\'AAAAA\',\'99\'],
[\'10002\',\'BBBBB\',\'92\'],
[\'10003\',\'CCCCC\',\'95\'],
[\'10004\',\'DDDDD\',\'89\'],
[\'10005\',\'EEEEE\',\'96\'],];
Excel::create(\'users\',function($excel) use ($cellData){
$excel->sheet(\'score\', function($sheet) use ($cellData){
$sheet->rows($cellData);
});
})->store(\'xls\')->export(\'xls\');
}
public function import(){
$filePath = \'storage/exports/users.xls\';
Excel::load($filePath, function($reader) {
$data = $reader->all(); dd($data);
});
exit;
}
}
如果你要导出csv或者xlsx文件,只需将export方法中的参数改成csv或xlsx。
store方法,将该Excel文件保存到服务器上,文件默认保存到storage/exports目录下,iconv()是为了防止文件名中文乱码。
访问 http://youdemain/excel/export
访问 http://youdemain/excel/import
以上是关于laravel5.5 excel的安装和使用的主要内容,如果未能解决你的问题,请参考以下文章
windows本地自己搭建的PHP7+Apache2.4环境使用composer安装laravel5.5