`

lumen下操作excel

阅读更多
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登录实例代码

    Lumen 使用 Eloquent ORM 进行数据库操作,所以我们需要在 `app/Models` 目录下创建一个 `User` 模型,用于表示用户数据表,并建立相应的迁移文件来创建用户表。迁移文件可以使用 Artisan 命令 `...

    Laravel开发-lumen

    在结合StormPath的场景下,Lumen可以提供一种安全、高效的用户认证和授权解决方案。StormPath是一款云服务,它为开发者提供了用户管理、身份验证和授权功能,使得开发者无需从零开始构建这些复杂的系统。通过集成...

    Laravel开发-lumen-generators

    Lumen Generators扩展了这一特性,使得在Lumen框架下也能轻松生成必要的项目结构,提高开发效率。 1. 安装Lumen Generators 要在Lumen项目中安装Lumen Generators,首先确保你的项目已经配置了Composer。然后,在...

    用Lumen写API教程

    定义好API端点后,开发者需要设置模型(Model)和种子数据(Seed Data),这通常涉及到使用Eloquent ORM来操作数据库。 8. 进阶概念 随着API开发的进行,你可能还需要学习一些进阶的概念,比如使用数据库迁移来维护...

    Lumen IM 是一个网页版即时聊天系统,界面简约、美观、操作简单且容易进行二次开发

    Lumen IM 是一个网页版在线即时聊天项目,前端使用 Element-ui + Vue,后端采用了基于 Swoole 开发的 Hyperf 协程框架进行接口开发,并使用 WebSocket 服务进行消息实时推送。基于 Swoole WebSocket 服务做消息即时...

    Laravel开发-lumen-helpers

    在本文中,我们将深入探讨Laravel生态系统的辅助工具——Lumen-Helpers,它极大地提升了Lumen框架与Laravel框架之间的兼容性和互操作性。Lumen是Laravel的一个精简版,专为微服务和API开发设计,而Lumen-Helpers正是...

    Laravel开发-lumen-starter

    2. **路由和中间件**:Lumen沿用了Laravel的路由系统,允许通过简单直观的定义来创建URL路由,并可以应用中间件进行权限控制、日志记录等操作。 3. **依赖注入**:Lumen支持依赖注入,这使得代码更加灵活和可测试,...

    Laravel开发-lumen-framework

    Lumen 集成了 Eloquent ORM,允许开发者使用链式操作进行数据库操作,如模型定义、查询构造器和关系处理。 ### 6. 中间件 中间件在请求进入处理之前或之后运行,可用于认证、日志记录、限流等功能。例如,`$app-&gt;...

    Laravel/Lumen 使用 Redis队列

    Laravel/Lumen 框架提供了一个队列系统,允许开发者将耗时操作或高并发操作异步执行,以缓解系统压力、提高系统响应速度和负载能力。在这个系统中,Redis 可以作为队列驱动,负责存储和处理队列任务。 一、配置 ...

    Laravel开发-lumen-auth-acl

    在本文中,我们将深入探讨基于Laravel框架的微型Web服务框架Lumen的权限管理和认证(Auth)机制,以及如何实现访问控制列表(ACL)。Lumen是Laravel的一个精简版,设计用于快速构建轻量级API,但它同样支持强大的...

    UE5中全局照明与反射设置的详细配置:Lumen技术的应用

    启用Lumen系统在UE5中操作非常简单,只需在项目的设置中选择Lumen作为全局光照方案即可,这一选项可在项目的“渲染”设置中找到。在Lumen中,全局照明通过动态模拟光线在场景中的反弹来实现,包括漫反射间接光照和高...

    Laravel开发-lumen-notification

    Lumen-notification项目是为了在Lumen框架下方便地使用这些通知功能。由于Lumen比完整的Laravel框架更简洁,某些Laravel特性可能需要额外的配置或扩展才能在Lumen中工作,通知系统就是其中之一。这个包装器为Lumen...

    lumen-passport, 使用Lumen制作 Laravel 护照.zip

    lumen-passport, 使用Lumen制作 Laravel 护照 lumen护照 使用Lumen制作 Laravel 护照一个简单的服务提供者,使 Laravel Passport与依赖项PHP&gt; = 5.6.3流明&gt; = 5.3通过Composer安

    Laravel开发-lumen-annotations

    【Laravel 开发 - Lumen 注解】 在 Laravel 生态系统中,Lumen 是一个轻量级的微服务框架,它提供了快速构建 API 的能力。Lumen 的设计灵感来源于 Laravel,但更加精简,适用于小型、高性能的应用。在这个主题中,...

    Laravel开发-lumen-cors

    默认情况下,浏览器实施同源策略,阻止不同源之间的请求,除非服务器明确允许。 "Laravel开发-lumen-cors"项目是针对Lumen微框架的CORS中间件解决方案。中间件在Web开发中扮演着重要角色,它们是处理HTTP请求和响应...

    Laravel开发-lumen-config-cache

    当Lumen应用启动时,它会读取并解析`config`目录下的所有配置文件,然后将这些配置值存储在内存中,以便在整个应用生命周期内快速访问。 3. **`php artisan config:cache`命令** 这个Artisan命令的作用是将所有的...

    Laravel开发-lumen-maintaince

    本教程将深入探讨如何在Lumen中实现维护模式(Maintenance Mode),这对于任何Web应用都是一个重要的功能,尤其是在进行系统升级或故障修复时,可以防止用户在不稳定的状态下访问网站。 首先,我们要理解什么是维护...

    Laravel开发-pdf-lumen-bundle

    PDF(Portable Document Format)是一种通用的文件格式,能够保留文档的原始布局和格式,使得用户在不同设备和操作系统上查看时保持一致。在Laravel或Lumen中生成PDF通常涉及到第三方库的集成。这里提到的"K98kurz/...

Global site tag (gtag.js) - Google Analytics