1.这是个我去公司之后曾经折磨我很久很久的功能查阅了很多资料但是功夫不负有心人在本人的不懈努力下还是实现了这个功能

(ps看不懂我下面说讲述的可以参考这个laravel学院的官方文档 https://xueyuanjun.com/post/2024.html

  官方主页:https://laravel-excel.com/

1.1使用的时候先用composer安装excel依赖

这里需要注意一下最好只用laravel5.0的框架然后使用excel2.0不然的话会报错

第一个是默认安装一般安装最新版本,第二个是2.1版本

composer require maatwebsite/excel    composer require maatwebsite/excel ~2.1

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

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

1.3如果想要对Laravel Excel进行更多的自定义配置,执行如下Artisan命令:(ps:这个看情况选择你需要的配置)

php artisan vendor:publish

上面的如果你不会执行的话就直接执行第二个

  php artisan vendor:publish --provider="Maatwebsite\Excel\ExcelServiceProvider"  
namespace App\Http\Controllers;
use App\Http\Controllers\Admin\ContentTypes\File;
use App\Models\Win1;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Input;
use Illuminate\Support\Facades\Schema;
use Illuminate\Support\Facades\Storage;
use Maatwebsite\Excel\Facades\Excel;
use Illuminate\Routing\Controller;
use Symfony\Component\CssSelector\Parser\Reader;

使用的时候需要导入的use类

将数据导出excel功能代码

 public function index(Excel $excel){
//将数据库中的信息转化为excel文件内容
$data=Win1::with('hasManyWindow')->get();
foreach ($data as $key){
$export[]=array(
'id'=>$key['id'],
'window'=>$key['window'],
// 数据表中的两个字段
);
}
$table_name='窗口名称'; $excel::create($table_name,function ($excel)use($export){
$excel->sheet('Sheet1',function ($sheet)use($export){
$sheet->fromArray($export);
});
})->store('xlsx')->export('xlsx'); }

excel数据导出为数据表的类

将excel表中的数据通过视图层按钮导入数据库

public function excelfile(Request $request)
{
//1.思路get传输过来的Excel文件地址
//2.循环读取数据保存到数组
//3.循环数组保存到数据库中 $flag=true;
$file=$request->file('file'); if($file){
//得到文件的路径
$realPath = $file->getRealPath();
//上传文件的后缀.
$entension = $file -> getClientOriginalExtension();
// 获取上传的文件缓存在tmp文件夹下的绝对路径
$newpath=$file->getRealPath();
$tabl_name = date('YmdHis').mt_rand(100,999);//时间戳
if($flag==true){
Excel::load($realPath,function ($reader) use ($tabl_name){
//获取excel的第几张表
$reader = $reader->getSheet(0);
//获取表中的数据
$data = $reader->toArray();
for($row=0;$row<count($data);$row++){
//echo $data[$row]['0'].'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
DB::table('windowmessage')->insert(['id'=>$data[$row]['0'],'window'=>$data[$row]['1']]);
} });
return '<script>alert("文件上传成功");window.location.href="importexcel"</script>';
} }else{
return '<script>alert("文件为空上传失败!请重新上传");window.location.href="importexcel"</script>';
} }

将excel数据导入数据库

下面是blade模板中的代码(ps:给自己看的)

  <a href="{{url('excelExport')}}" id="href"><div   id="btn" >下载Excel</div></a>

{{--导入按钮--}}

        <form style="display:none" action="{{url('excelfile')}}" method="post" enctype="multipart/form-data">
{{csrf_field()}}
  <input type="file" name="file" value=""> </form>
<input type="submit" value="批量导入" id="tijiao" > <!-- 记得载入jquery文件 --> <script>
$('#tijiao').click(function(){
$(this).prev('form').find('[name="file"]').trigger('click');
}); // 当表单文件有变化时执行提交动作 $('[name="file"]').change(function(){
if($(this).val()){
$('#tijiao').addClass('disabled' );
$(this).parent().submit();
}
});
</script>

blade下载提交视图模板

laravel实现excel表的导入导出功能的更多相关文章

  1. Laravel 5 中使用 Laravel Excel 实现 Excel/CSV 文件导入导出功能

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

  2. 在 Laravel 5 中使用 Laravel Excel 实现 Excel/CSV 文件导入导出功能

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

  3. 【Laravel】使用 Laravel Excel 实现 Excel/CSV 文件导入导出功能

    一.安装配置 使用Composer安装依赖: composer require maatwebsite/excel 发布配置(可选): php artisan vendor:publish --pro ...

  4. Laravel Excel 实现 Excel-CSV 文件导入导出功能

    Laravel Excel 是一款基于 PHPExcel 开发的Laravel框架专用的 Excel/CSV 文件导入导出功能的扩展包,用起来的非常方便. 它的 Github 地址是:https:// ...

  5. Laravel 5使用Laravel Excel实现Excel/CSV文件导入导出的功能详解

    1.简介 本文主要给大家介绍了关于Laravel 5用Laravel Excel实现Excel/CSV文件导入导出的相关内容,下面话不多说了,来一起看看详细的介绍吧. Laravel Excel 在 ...

  6. poi实现excel的导入导出功能

    Java使用poi实现excel的导入导出功能: 工具类ExcelUtil,用于解析和初始化excel的数据:代码如下 package com.raycloud.kmmp.item.service.u ...

  7. 利用PHPExcel 实现excel数据的导入导出(源码实现)

    利用PHPExcel 实现excel数据的导入导出(源码实现) 在开发过程中,经常会遇到导入导出的需求,利用phpexcel类实现起来也是比较容易的,下面,我们一步一步实现 提前将phpexcel类下 ...

  8. 循序渐进开发WinForm项目(5)--Excel数据的导入导出操作

    随笔背景:在很多时候,很多入门不久的朋友都会问我:我是从其他语言转到C#开发的,有没有一些基础性的资料给我们学习学习呢,你的框架感觉一下太大了,希望有个循序渐进的教程或者视频来学习就好了. 其实也许我 ...

  9. SQL SERVER 与ACCESS、EXCEL的数据导入导出转换

    * 说明:复制表(只复制结构,源表名:a 新表名:b)      select * into b from a where 1<>1 * 说明:拷贝表(拷贝数据,源表名:a 目标表名:b) ...

随机推荐

  1. 【新人赛】阿里云恶意程序检测 -- 实践记录 11.24 - word2vec模型 + xgboost

    使用word2vec训练词向量 使用word2vec无监督学习训练词向量,输入的是训练数据和测试数据,输出的是每个词的词向量,总共三百个词左右. 求和:然后再将每行数据中的每个词的词向量加和,得到每行 ...

  2. JavaSE学习笔记(9)---集合类和泛型

    JavaSE学习笔记(9)---集合类和泛型 1.Collection集合 集合概述 在前面我们已经学习过并使用过集合ArrayList<E> ,那么集合到底是什么呢? 集合:集合是jav ...

  3. Jquery基础(动画效果的轮播图特效)

    jquery文档准备的三种写法: $(document).ready(function() { }); $().ready(function() { }); $(function() { }); jq ...

  4. Error: cannot fetch last explain plan from PLAN_TABLE

    最近遇到了错误"Error: cannot fetch last explain plan from PLAN_TABLE",于是稍微研究了一下哪些场景下碰到这种错误,具体参考下面 ...

  5. [HNOI2009]图的同构记数

    题意 在所以置换下,本质不同的\(n\)阶图个数 做法 可以假想成\(K_n\),边有黑白两色,黑边存在于原图,白边存在于补图 由于\(n\le 60\),可以手算出拆分数不大,所以我们爆搜置换群 对 ...

  6. eclipse配置文件出现小红叉,Referenced file contains errors (xml文件第一行小红叉错误)

    原文链接:https://blog.csdn.net/zlj1217/article/details/61432437                                          ...

  7. 代数式转换为c语言表达式(很简单)

  8. yii2 钩子函数

    插入时间 public function beforeSave($insert) { $this->created_at=time(); return parent::beforeSave($i ...

  9. 【vue 权威指南】 学习笔记 二

    1.指令 1.1内部指令 基础指令:v-show , v-else , v-model , v-repeat , v-for , v-text , v-el , v-html , v-on , v-b ...

  10. R语言函数化编程笔记1

    R语言函数化编程笔记1 notes:有一个不错的网站叫做stack overflow,有问题可以从上面找或者搜索答案,会有大佬相助. 在github上面可以找到很多R的扩展包,如果自己额修改被接受,那 ...