1、安装excel组件
修改composer.json,在require中增加下面的语句,并执行composer update
"maatwebsite/excel": "~2.0.0",
2、注册Excel服务
修改bootstrap/app.php
$app->register(Maatwebsite\Excel\ExcelServiceProvider::class);
class_alias('Maatwebsite\Excel\Facades\Excel', 'Excel');
3、修改vendor/maatwebsite/excel/src/maatwebsite/excel中ExcelServiceProvider.php文件
a、注释boot方法中44-46行代码,config_path在lumen中已经移除。
b、修改bindWriters方法中160行代码又原来的Response改成Illuminate\Support\Facades\Response。
更详细介绍见:
http://www.shaoqun.com/a/194775.aspx
4、读写excel文件
try {
// 获得excel文件输入流,load参数为绝对地址
$reader = Excel::load($params['file']);
if (!$reader) {
throw new \Exception(1001, '读取导入文件失败');
}
$returnresult = array();
// 获得第一个sheet的输入流
$reader = $reader->getSheet(0);
// 将内容转为数组
$results = $reader->toArray();
if (count($results) > 1) {
// 数组第一行是标题(根据文档实际情况)
$title = $results[0];
for ($i = 1; $i < count($results); $i++) {
// 获取第N行数据
$row = $results[$i];
// 获取第N行第1个cell
$name = $row[0];
// 获取第N行第2个cell
$mobile = $row[1];
// 处理数据
…………
…………
// 将处理后的结果保存到结果数组
$returnresult[] = $row;
}
// 创建一个excel输入文件,文件默认保存地址为storage/exports
Excel::create('batchaddclient/' . $task['taskno'], function ($excel) use ($returnresult) {
// 将结果数组写入第1个sheet
$excel->sheet('score', function ($sheet) use ($returnresult) {
$sheet->rows($returnresult);
});
// 以excel形式输出文件
})->store('xls');
} else {
throw new \Exception(1002, '空的导入文件');
}
} catch (\Exception $e){
app('log')->debug($e->getCode() . ',' . $e->getMessage());
}
分享到:
相关推荐
Lumen 使用 Eloquent ORM 进行数据库操作,所以我们需要在 `app/Models` 目录下创建一个 `User` 模型,用于表示用户数据表,并建立相应的迁移文件来创建用户表。迁移文件可以使用 Artisan 命令 `...
在结合StormPath的场景下,Lumen可以提供一种安全、高效的用户认证和授权解决方案。StormPath是一款云服务,它为开发者提供了用户管理、身份验证和授权功能,使得开发者无需从零开始构建这些复杂的系统。通过集成...
Lumen Generators扩展了这一特性,使得在Lumen框架下也能轻松生成必要的项目结构,提高开发效率。 1. 安装Lumen Generators 要在Lumen项目中安装Lumen Generators,首先确保你的项目已经配置了Composer。然后,在...
定义好API端点后,开发者需要设置模型(Model)和种子数据(Seed Data),这通常涉及到使用Eloquent ORM来操作数据库。 8. 进阶概念 随着API开发的进行,你可能还需要学习一些进阶的概念,比如使用数据库迁移来维护...
Lumen IM 是一个网页版在线即时聊天项目,前端使用 Element-ui + Vue,后端采用了基于 Swoole 开发的 Hyperf 协程框架进行接口开发,并使用 WebSocket 服务进行消息实时推送。基于 Swoole WebSocket 服务做消息即时...
在本文中,我们将深入探讨Laravel生态系统的辅助工具——Lumen-Helpers,它极大地提升了Lumen框架与Laravel框架之间的兼容性和互操作性。Lumen是Laravel的一个精简版,专为微服务和API开发设计,而Lumen-Helpers正是...
2. **路由和中间件**:Lumen沿用了Laravel的路由系统,允许通过简单直观的定义来创建URL路由,并可以应用中间件进行权限控制、日志记录等操作。 3. **依赖注入**:Lumen支持依赖注入,这使得代码更加灵活和可测试,...
Lumen 集成了 Eloquent ORM,允许开发者使用链式操作进行数据库操作,如模型定义、查询构造器和关系处理。 ### 6. 中间件 中间件在请求进入处理之前或之后运行,可用于认证、日志记录、限流等功能。例如,`$app->...
Laravel/Lumen 框架提供了一个队列系统,允许开发者将耗时操作或高并发操作异步执行,以缓解系统压力、提高系统响应速度和负载能力。在这个系统中,Redis 可以作为队列驱动,负责存储和处理队列任务。 一、配置 ...
在本文中,我们将深入探讨基于Laravel框架的微型Web服务框架Lumen的权限管理和认证(Auth)机制,以及如何实现访问控制列表(ACL)。Lumen是Laravel的一个精简版,设计用于快速构建轻量级API,但它同样支持强大的...
启用Lumen系统在UE5中操作非常简单,只需在项目的设置中选择Lumen作为全局光照方案即可,这一选项可在项目的“渲染”设置中找到。在Lumen中,全局照明通过动态模拟光线在场景中的反弹来实现,包括漫反射间接光照和高...
Lumen-notification项目是为了在Lumen框架下方便地使用这些通知功能。由于Lumen比完整的Laravel框架更简洁,某些Laravel特性可能需要额外的配置或扩展才能在Lumen中工作,通知系统就是其中之一。这个包装器为Lumen...
lumen-passport, 使用Lumen制作 Laravel 护照 lumen护照 使用Lumen制作 Laravel 护照一个简单的服务提供者,使 Laravel Passport与依赖项PHP> = 5.6.3流明> = 5.3通过Composer安
【Laravel 开发 - Lumen 注解】 在 Laravel 生态系统中,Lumen 是一个轻量级的微服务框架,它提供了快速构建 API 的能力。Lumen 的设计灵感来源于 Laravel,但更加精简,适用于小型、高性能的应用。在这个主题中,...
默认情况下,浏览器实施同源策略,阻止不同源之间的请求,除非服务器明确允许。 "Laravel开发-lumen-cors"项目是针对Lumen微框架的CORS中间件解决方案。中间件在Web开发中扮演着重要角色,它们是处理HTTP请求和响应...
当Lumen应用启动时,它会读取并解析`config`目录下的所有配置文件,然后将这些配置值存储在内存中,以便在整个应用生命周期内快速访问。 3. **`php artisan config:cache`命令** 这个Artisan命令的作用是将所有的...
本教程将深入探讨如何在Lumen中实现维护模式(Maintenance Mode),这对于任何Web应用都是一个重要的功能,尤其是在进行系统升级或故障修复时,可以防止用户在不稳定的状态下访问网站。 首先,我们要理解什么是维护...
PDF(Portable Document Format)是一种通用的文件格式,能够保留文档的原始布局和格式,使得用户在不同设备和操作系统上查看时保持一致。在Laravel或Lumen中生成PDF通常涉及到第三方库的集成。这里提到的"K98kurz/...