1.首先打开命令行,进入到lumen项目的根目录中,然后用composer下载excel组件

composer require maatwebsite/excel ~2.1.0

2.安装成功后,在bootstrap/app.php中注册这个插件类

$app->register(Maatwebsite\Excel\ExcelServiceProvider::class);

这里要取消下面两行前面的注释

  1. $app->withFacades();
  2.  
  3. $app->withEloquent();

3.然后开始写demo啦

在routes/web.php下

  1. $app->get('/', function () use ($app) {
    return $app->version();
    });
  2.  
  3. $app->get('/excel', 'ExcelController@export');
  4.  
  5. 然后在app/Http/Controllers下创建一个控制器文件ExcelController.php,内容如下
  1. <?php
  2.  
  3. namespace App\Http\Controllers;
  4.  
  5. use Maatwebsite\Excel\Facades\Excel;
  6.  
  7. class ExcelController extends Controller
  8. {
  9. /**
  10. * Create a new controller instance.
  11. *
  12. * @return void
  13. */
  14. public function __construct()
  15. {
  16. //
  17. }
  18.  
  19. public function export()
  20. {
  21. $cellData = [
  22. ['学号','姓名','成绩'],
  23. ['10001','AAAAA','99'],
  24. ['10002','BBBBB','92'],
  25. ['10003','CCCCC','95'],
  26. ['10004','DDDDD','89'],
  27. ['10005','EEEEE','96'],
  28. ];
  29. Excel::create('学生成绩',function($excel) use ($cellData){
  30. $excel->sheet('score', function($sheet) use ($cellData){
  31. $sheet->rows($cellData);
  32. });
  33. })->export('xls');
  34.  
  35. Excel::create('学生成绩',function($excel) use ($cellData){
  36. $excel->sheet('score', function($sheet) use ($cellData){
  37. $sheet->rows($cellData);
  38. });
  39. })->store('xls')->export('xls');
  40. }
  41.  
  42. }

  

这里注意要在头部加上use Maatwebsite\Excel\Facades\Excel;然后用浏览器访问        项目启动路径/excel,    然后就会生成如下表格

如果还想把excel 表保存在服务器的话

可以使用如下代码

文件默认保存在storage/exports,保存在服务器的文件名中文出现了乱码,可以使用  iconv('UTF-8', 'GBK', '学生成绩')

  1. Excel::create('学生成绩',function($excel) use ($cellData){
  2. $excel->sheet('score', function($sheet) use ($cellData){
  3. $sheet->rows($cellData);
  4. });
  5. })->store('xls')->export('xls');

lumen简单使用exel组件的更多相关文章

  1. setbuffer和freopen做一个简单的日志组件

    目标场景是这样的: 多线程的应用程序要频繁打一些小字节的日志,也不想引用很重的日志库. 设想了一个极其简单的日志组件,main线程中重定向stdout到文件,同时setbuffer设置一个10k的缓冲 ...

  2. [.Net Core] 在 Mvc 中简单使用日志组件

    在 Mvc 中简单使用日志组件 基于 .Net Core 2.0,本文只是蜻蜓点水,并非深入浅出. 目录 使用内置的日志组件 简单过渡到第三方组件 - NLog 使用内置的日志 下面使用控制器 Hom ...

  3. 演练:使用VS2010 C# 创作简单的多线程组件

    BackgroundWorker 组件取代了 System.Threading 命名空间并添加了功能:但是,可以选择保留 System.Threading 命名空间以实现向后兼容并供将来使用.有关更多 ...

  4. uniapp自定义简单省市区联动组件

    又双叒一个uniapp组件 最近有一个选择地址的需求,就写了一个省市区联动选择器. 选择日期使用的picker,就照着它简单的整了一个,使用网络请求城市数据,还用到了vuex组件数据共享. 本来自己整 ...

  5. 手写一个简单的starter组件

    spring-boot中有很多第三方包,都封装成starter组件,在maven中引用后,启动springBoot项目时会自动装配到spring ioc容器中. 思考: 为什么我们springBoot ...

  6. 编写一个简单的COM组件

    参考网站:编写一个简单的COM组件_a ray of sunshine-CSDN博客 (1) 用MIDL编写.idl文件 //将以下代码保存成 IXIYIZ.idl 文件 //在命令行上进行编译,编译 ...

  7. 封装两个简单的Jquery组件

    Jquery给我们提供了很大的方便,我们把他看成是一个公共库,以致在这个公共库上延伸出了很多Jquery插件:在项目过程中,有些插件总是不那么令人满意: 主要说两个项目用途: 1.  遮罩层,跟一般的 ...

  8. vue 简单实现父组件向子组件传值,简单来说就是子组件肆意妄为的调用父组件里后台返回的值

    首先在于父子组件传值的方法很多,本人在这里只是简单描述一下一个组件里面引用了子组件,那么子组件如何才能获取父组件中后台返回的值呢? 首先调用组件相信大家都应该明白了(不明白的自己撸撸文档), < ...

  9. IoC之AutoFac(一)——简单使用和组件注册

    阅读目录 一.AutoFac简单使用 二.注册 2.1 注册方式 2.2 带参数注册 回到顶部 一.AutoFac简单使用 1 namespace AutofacDemo 2 { 3 class Pr ...

随机推荐

  1. python 缓冲区 subprocess 黏包 黏包解决方案

    一.缓冲区 二.两种黏包现象 两种黏包现象: 1 连续的小包可能会被优化算法给组合到一起进行发送 黏包现象1客户端 import socket BUFSIZE = 1024 ip_prort = (' ...

  2. spring boot 2.X上传文件限制大小

    Spring Boot 1.3.x multipart.maxFileSize multipart.maxRequestSize Spring Boot 1.4.x and 1.5.x spring. ...

  3. typeof操作符,返回数据类型Array.isArray()、Object.prototype.toString.call()

    源地址https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/typeof typeof操作符 // N ...

  4. python 源文件编码

  5. Libevent:4event loop

    一:运行loop       一旦一些events在event_base注册之后(下一节会讨论如何创建和注册events),就可以使Libevent等待events,并且在events准备好时能够通知 ...

  6. python 列表索引

  7. android学习——android项目的的目录结构

       然后我们看一下Helloword的程序目录: 我们可以看到 大致有的文件: 1. MainHelloWorld.java文件 2. R.java文件 3. android.jar文件 4. RE ...

  8. bert 硬件要求

    https://github.com/google-research/bert BERT ***** New May 31st, 2019: Whole Word Masking Models *** ...

  9. CCPC final Cockroaches

    算法假了,我想的是通过枚举x,删除y的影响,这样答案第一个是没有任何问题的,但是第二个会算重复. 因为我枚举每一个x的时候,得到的y,而算另外一个x的时候,可能已经通过其他的点选到了这个点y这就有点麻 ...

  10. macOS上搭建RabbitMQ+MQTT服务器

    1. 下载RabbitMQhttps://www.rabbitmq.com/install-standalone-mac.html或通过brew直接安装RabbitMQ brew install ra ...