【laravel】【转发】laravel 导入导出excel文档

1、简介

Laravel Excel 在 Laravel 5 中集成 PHPOffice 套件中的 PHPExcel ,从而方便我们以优雅的、富有表现力的代码实现Excel/CSV文件的导入和 导出 。

该项目的GitHub地址是: https://github.com/Maatwebsite/Laravel-Excel 。

本文我们将在Laravel中使用Laravel Excel简单实现Excel文件的导入和导出。

2、安装&配置

使用Composer安装依赖

首先在Laravel项目根目录下使用Composer安装依赖:

composer require maatwebsite/excel ~2.0.0

安装后的设置

在 config/app.php 中注册服务提供者到 providers 数组:

Maatwebsite\Excel\ExcelServiceProvider::class,

同样在 config/app.php 中注册门面到 aliases 数组:

'Excel' => Maatwebsite\Excel\Facades\Excel::class,

如果想要对Laravel Excel进行更多的自定义配置,执行如下Artisan命令:

php artisan vendor:publish

执行成功后会在 config 目录下生成一个配置文件 excel.php 。

3、导出Excel文件

为了演示Laravel Excel相关功能,我们为本测试创建一个干净的控制器 ExcelController.php :

php artisan make:controller ExcelController --plain

然后在 routes.php 中定义相关路由:

Route::get('excel/export','ExcelController@export');
Route::get('excel/import','ExcelController@import');

接下来我们先在 ExcelController.php 中定义 export 方法实现导出功能:

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Excel;
class ExcelController extends Controller
{//Excel文件导出功能 By Laravel学院public function export(){$cellData = [['学号','姓名','成绩'],['10001','AAAAA','99'],['10002','BBBBB','92'],['10003','CCCCC','95'],['10004','DDDDD','89'],['10005','EEEEE','96'],];Excel::create('学生成绩',function($excel) use ($cellData){$excel->sheet('score', function($sheet) use ($cellData){$sheet->rows($cellData);});})->export('xls');}
}

我们在浏览器中访问 http://laravel.app:8000/excel/export ,会导出一个名为 学生成绩.xls 的Excel文件:

如果你要导出csv或者xlsx文件,只需将 export 方法中的参数改成csv或xlsx即可。

如果还要将该Excel文件保存到服务器上,可以使用 store 方法:

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

文件默认保存到 storage/exports 目录下,如果出现文件名中文乱码,将上述代码文件名做如下修改即可:

iconv('UTF-8', 'GBK', '学生成绩')

4、导入Excel文件

我们将刚才保存到服务器上的Excel文件导入进来,导入很简单,使用 Excel 门面上的 load 方法即可:

//Excel文件导入功能 By Laravel学院
public function import(){$filePath = 'storage/exports/'.iconv('UTF-8', 'GBK', '学生成绩').'.xls';Excel::load($filePath, function($reader) {$data = $reader->all();dd($data);});
}

load 方法基于项目根路径作为根目录,同样我们对中文进行了转码,否则会提示文件不存在。

在浏览器中访问 http://laravel.app:8000/excel/import ,页面显示如下:

当然,Laravel Excel还有很多其它功能,比如将Blade视图导出为Excel或CSV,以及对导入/导出更加细粒度的控制,具体可参考其官方文档: http://www.maatwebsite.nl/laravel-excel/docs

转载于:https://www.cnblogs.com/china-flint/p/9685492.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/367265.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

你真的了解css像素嘛?

在日常开发中&#xff0c;px一定是大家接触过最多的css单位&#xff0c;但是你真的了解px嘛&#xff1f;1px在屏幕中到底是多大呢&#xff1f;另外不知道大家有没有过下面这些疑惑: 为什么一个元素在pc上和移动端的物理尺寸不一样&#xff0c;但是两者的视觉效果上却差不多呢&…

mysql for mac中文_mysql for Mac 下创建数据表中文显示为?的解决方法

在我的绝版Mac mini下安装了mysql 5.7版本&#xff0c;实例中&#xff0c;在通过load data 导入数据时发现表中的中文显示为 &#xff1f;通过百度&#xff0c;发现多个版本的解决方法&#xff0c;将其中一个成功解决的方法贴上来&#xff1a;大多方法都是这样&#xff1a;需要…

计算机科学计算方面分为,计算机方面的专业分为哪些类?【资讯与计算科学】和【电脑科学与技术专业】有什么不同?...

计算机方面的专业分为哪些类&#xff1f;【资讯与计算科学】和【电脑科学与技术专业】有什么不同&#xff1f;以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;计算机方面的专业分为哪些类&am…

Java异常处理教程(包含示例和最佳实践)

异常是可能在程序执行期间发生的错误事件&#xff0c;它会破坏其正常流程。 Java提供了一种健壮且面向对象的方式来处理异常情况&#xff0c;称为Java异常处理 。 我们将在本教程中研究以下主题。 Java异常处理概述 异常处理关键字 异常层次 有用的异常方法 Java 7自动资源…

GMTC 大前端时代前端监控的最佳实践

本文来自阿里云前端监控团队&#xff0c;转载请注明出处本文为2018年6月21日&#xff0c;在北京举办的GMTC(全球大前端技术大会)&#xff0c;下午性能与监控专场&#xff0c;由阿里云前端监控团队前端技术专家彭伟春带来的演讲稿&#xff0c;现场反馈效果非常好&#xff0c;地上…

Alpha阶段敏捷冲刺②

1.提供当天站立式会议照片一张 每个人的工作 &#xff08;有work item 的ID&#xff09;&#xff0c;并将其记录在码云项目管理中&#xff1a; 昨天已完成的工作。 购买云服务器 注册账号 界面布局初步规划 今天计划完成的工作。 界面雏形设计 数据库初步设计 完成后端框架初步…

透明地持久保存并从数据库中检索加密的数据

自从我在这里发表上一个帖子以来已经有两个多月了&#xff0c;但是今年六月和七月非常忙碌而密集。 首先&#xff0c; Confitura的组织&#xff08;欧洲最大的Java开发人员免费会议&#xff09;参加了我所有的免费晚会&#xff0c;然后在相当紧张的住院期间&#xff0c;我们的第…

[译] 2017 年比较 Angular、React、Vue 三剑客

原文地址&#xff1a;Angular vs. React vs. Vue: A 2017 comparison原文作者&#xff1a;Jens Neuhaus译文出自&#xff1a;掘金翻译计划本文永久链接&#xff1a;https://github.com/xitu/gold-miner/blob/master/TODO/angular-vs-react-vs-vue-a-2017-comparison.md译者&…

centos 离线安装mysql_CentOS6离线安装mysql-5.7.25

1.mysql-5.7.25-1.el6.x86_64.rpm-bundle.tar下载百度云资源提取码&#xff1a;ej1y2.把下载的mysql安装包上传到Centos上解压mysql&#xff0c;我这是在Windows上解压的上传到Centos上&#xff0c;我在Centos上解压mysql不知道为什么少了rpm -ivh mysql-community-common-5.7.…

Linux自动化之Cobbler补鞋匠安装

cobbler介绍&#xff1a; 快速网络安装linux操作系统的服务&#xff0c;支持众多的Linux发行版&#xff1a;Red Hat、 Fedora、CentOS、Debian、Ubuntu和SuSE&#xff0c;也可以支持网络安装windows PXE的二次封装&#xff0c;将多种安装参数封装到一个菜单 Python编…

如何以10倍速加速Apache Xalan的XPath处理器

一段时间以来&#xff0c; Apache Xalan中存在一个令人尴尬的错误&#xff0c;该错误是XALANJ-2540 。 此错误的后果是Xalan每次XPath表达式求值将内部SPI配置文件加载数千次 &#xff0c;可以很容易地进行如下测量&#xff1a; 这个&#xff1a; Element e (Element)documen…

使用ant design Pro开发项目的小结

一、关于上手。 1. 关于ant design Pro的介绍&#xff0c;自己看官网&#xff0c;大致上可以理解为ant design&#xff08;组件库&#xff09; ant design Pro &#xff08;完整的项目&#xff09; dva&#xff08;路由 数据流管理&#xff09;的组合拳。总之这个Pro是一个已经…

Activiti中的高级脚本:自定义配置注入

脚本任务可能是Activiti代码库中“最古老的”类之一&#xff0c;但我认为它仍然未被许多人使用。 &#xff08;可以理解的&#xff1f;&#xff09;缺点当然是性能&#xff08;解释还是编译&#xff09;&#xff0c;并且从IDE角度来看支持较少。 但是&#xff0c;好处&#xf…

帆软决策报表嵌入html,在决策报表中使用网页框控件

假设决策报表里有一个网页框控件&#xff0c;控件名为rHIframe0&#xff1b;同时有三个按钮控件&#xff0c;分别给按钮控件添加下面的点击事件&#xff1a;3.1 setValue(String)设置并刷新网页框控件的地址(保留原参数)1)模板路径var Widget this.options.form.getWidgetByNa…

【前端轶事】Chrome 小恐龙背后的故事

本文转自 FEPulse 公众号&#xff08;微信搜索 FEPulse&#xff0c;精选国内外最新前端资讯&#xff0c;为你把握前端脉搏&#xff09;。 如果你是 Chrome 用户&#xff0c;一定对那萌萌哒的小恐龙不陌生&#xff0c;每当互联网连接断开时&#xff0c;你便能看到那只小恐龙&am…

《React源码解析》系列完结!

前言 距离第一篇《React源码解析(一)》已经过去将近4个月的时间&#xff0c;由于是我第一次进行源码解析相关的写作&#xff0c;思路和文笔还不够成熟。一百多天以来&#xff0c;我基于读者反馈反思这几篇文章中的不足&#xff0c;同时也在不断学习借鉴其他优秀作者的写作方法…

html5 css 字体加粗,HTML和CSS实现字体加粗的三种方法

大家在浏览网站时有没有注意到&#xff0c;页面中有些文字或字体加粗了&#xff0c;正在学习HTML和CSS的小伙伴&#xff0c;你知道HTML如何给文字加粗吗&#xff1f;CSS怎么设置字体加粗呢&#xff1f;这篇文章给大家总结了给字体和文字加粗的三种方法&#xff0c;包括HTML中的…

虾扯蛋之函数防抖和节流

背景 今天在coding的时候&#xff0c;做了一个搜索框&#xff0c;也正是这个搜索框&#xff0c;让我和后台小伙伴直接由铁磁变为塑料兄弟。那到底发生啥了呢&#xff1f;其实很简单&#xff0c;其实很无奈&#xff0c;就是我用王者的手速把他的接口访问崩了&#xff01; 我们在…

四川省内二本计算机公立好的大学排名,四川有哪些二本院校是公立的?附四川省公立二本大学排名及分数线...

选择科目测一测我能上哪些大学选择科目领取你的专属报告>选择省份关闭请选择科目确定v>四川省内的公办大学一直以来都是历年高考生及家长关注的重点&#xff0c;本篇文章我将针对“四川省有多少所二本公立大学&#xff1f;有哪四川省内的公办大学一直以来都是历年高考生及…

NetBeans 7.4 Beta提示警告无效的异常处理

有许多例子说明Java异常处理可能比首次出现时要困难得多&#xff0c;Josh Bloch专门将一整章的《 Effective Java》 &#xff08;两个版本&#xff09;专门用于异常处理。 Java中的检查异常模型 仍然 “ 有争议” 。 我很高兴看到我最近下载的NetBeans 7.4 beta有一些提示&…