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扩展包的安装和使用的更多相关文章
- VSCode扩展包离线安装
下载离线包 下载地址:https://marketplace.visualstudio.com/vscode 安装离线包
- 如何正确使用 Composer 安装 Laravel 扩展包
我们经常要往现有的项目中添加扩展包,有时候因为文档的错误引导,如下图来自 这个文档 的: composer update 这个命令在我们现在的逻辑中,可能会对项目造成巨大伤害. 因为 composer ...
- laravel 安装 Laravel 扩展包
问题说明 我们经常要往现有的项目中添加扩展包,有时候因为文档的错误引导,如下图来自这个文档 的: composer update 这个命令在我们现在的逻辑中,可能会对项目造成巨大伤害. 因为 comp ...
- 正确的 Composer 扩展包安装方法
问题说明 我们经常要往现有的项目中添加扩展包,有时候因为文档的错误引导,如下图来自 这个文档 的: composer update 这个命令在我们现在的逻辑中,可能会对项目造成巨大伤害. 因为 com ...
- 【转】正确的 Composer 扩展包安装方法
简单解释 composer install - 如有 composer.lock 文件,直接安装,否则从 composer.json 安装最新扩展包和依赖: composer update - 从 c ...
- Composer 扩展包安装方法
问题说明 我们经常要往现有的项目中添加扩展包,有时候因为文档的错误引导,如下图来自 这个文档 的: composer update 这个命令在我们现在的逻辑中,可能会对项目造成巨大伤害. 因为 com ...
- VirtualBox扩展包安装教程|VirtualBox扩展增强包怎么安装
VirtualBox是一款功能强大的免费虚拟机软件,一般我们安装VirtualBox后要安装扩展增强包,VirtualBox扩展包包含USB2.0和USB3.0控制等支持功能,如果没有装,在使用过程中 ...
- 关于Pycharm安装扩展包的方法
Python中第三方的库(library).模块(module),包(package)的安装方法以及ImportError: No module named 1.pip install .... 一般 ...
- Python及bs4、lxml、numpy模块包的安装
http://blog.csdn.net/tiantiancsdn/article/details/51046490(转载) Python及bs4.lxml.numpy模块包的安装 Python 的安 ...
随机推荐
- 3、VNC
VNC(Virtual Network Computing,虚拟网络计算机) VNC分为两部分组成:VNC server 和 VNC viewer VNC安装 1.yum install tigerv ...
- 『关键点检测』CPN:Cascaded Pyramid Network for Multi-Person Pose Estimation
论文连接 网络简介 face++2017年coco keypoint benchmark 数据集冠军的文章,发表于CVPR201 1 提出了一种金字塔型的串接模型,即CPN(cascaded pyr ...
- mongoose手动生成ObjectId
用mongoose驱动保存数据,如果_id没有定义,那么在save的时候,mongoose驱动会自己生成一个_id.那么如果需要手动生成可以用mongoose.Types.ObjectId()方法. ...
- Swiper.js使用及API介绍
Swiper.js详细使用教程http://www.swiper.com.cn/api/start/2014/1218/140.html
- Win10系列:C#应用控件基础12
TextBlock控件 TextBlock控件是应用程序开发过程中经常使用的控件之一,它的主要功能是显示一段只读的文本内容.开发者可以使用TextBlock控件来显示提示信息,还可以根据需求将显示的提 ...
- 201621123075 week5 继承、多态、抽象类和接口
1. 本周学习总结 1.1 写出你认为本周学习中比较重要的知识点关键词 接口.abstract.implements.comparable 1.2 尝试使用思维导图将这些关键词组织起来.注:思维导图一 ...
- Ubuntu 12.04安装教程详细步骤(图解)
1.选择你所想要的语言,如图. 2.选择安装Ubuntu(I). 3.进入Ubuntu安装等待 4.设置处理器信息 5.同意选择的语言 6.配置键盘信息 7.键盘布局选择汉语 8.配置键盘选择汉语 9 ...
- Android : 跟我学Binder --- (5) C++实现
目录: Android : 跟我学Binder --- (1) 什么是Binder IPC?为何要使用Binder机制? Android : 跟我学Binder --- (2) AIDL分析及手动实现 ...
- ES6新特性,对象的快速创建
//es6对象快速赋值 //es5对象赋值 var name="xiaoming"; var age=18 var person={ name:name, age:age } co ...
- OpenStack之Neutron分配VIP提供给两台虚拟机做高可用
一. 简单介绍 在openstack私有云平台的应用场景中,涉及多台虚拟机实例进行高可用的绑定,这里我们需要在云平台中提供一个IP给高可用场景切换,这里介绍keepalived + allow_add ...