Laravel-Excel应该算是目前接触过的,最好用的excel工具包。

之前用过PHPExcel类库,项目中使用时会将PHPExcel类库放到扩展目录vendor中,然后直接调用。但是并没有Laravel-Excel用起来顺手,可能是因为Laravel-Excel与Laravel框架本身足够契合的原因吧。

安装Laravel-Excel

composer require maatwebsite/excel

Excel导出

php artisan make:export ItemsTemplateExport --model=Models/Item

创建的export文件在app/Exports目录下

可以使用集合类collection形式,也可以使用数组array形式,这里我以数组形式举例

namespace App\Exports;use App\Models\Item;
use Maatwebsite\Excel\Concerns\FromArray;class ItemsTemplateExport implements FromArray
{public function array(): array{return [['***', '***']];}
}

控制类中引用后直接使用

use App\Imports\ItemsImport;
use Maatwebsite\Excel\Facades\Excel;class ItemsController extends Controller
{public function itemsTemplateExport(){return Excel::download(new ItemsTemplateExport, 'items.xlsx');}
}

Excel导入

php artisan make:import ItemsImport --model=Models/Item

有点多,裁剪下直接贴代码了,数据量比较大时建议切割数据分块导入

<?phpnamespace App\Imports;use App\Models\Item;
use Maatwebsite\Excel\Concerns\ToModel;use Maatwebsite\Excel\Concerns\WithBatchInserts;
use Maatwebsite\Excel\Concerns\WithChunkReading;
use Maatwebsite\Excel\Concerns\WithHeadingRow;
use Maatwebsite\Excel\Concerns\WithValidation;class ItemsImport implements ToModel, WithBatchInserts, WithChunkReading, WithHeadingRow, WithValidation
{/*** @param array $row** @return \Illuminate\Database\Eloquent\Model|null*/public function model(array $row){// dd($row);return new Item([***]);}public function rules(): array{return [***];}public function customValidationMessages(){return [***];}//批量导入1000条public function batchSize(): int{return 1000;}//以1000条数据基准切割数据public function chunkSize(): int{return 1000;}
}

控制类中引用后直接使用

namespace App\Http\Controllers;use Illuminate\Http\Request;
use App\Exports\ItemsTemplateExport;
use Maatwebsite\Excel\Facades\Excel;class ItemsController extends Controller
{public function import(Request $request){if (empty($request->items)) {return redirect()->back()->with('danger', '未找到excel文件。');}Excel::import(new ItemsImport, $request->items);return redirect()->back()->with('success', '导入成功!');}
}

Laravel表格操作Laravel-Excel相关推荐

  1. php把excel转换成pdf文件下载,laravel怎么可以把excel文件转为pdf文件?

    laravel怎么可以把excel文件转为pdf文件? 尝试用PHPOffice/PhpSpreadsheet转换,写了个函数,如下: 备注:PhpSpreadsheet是PHPExcel的新版,ht ...

  2. python处理excel表格实例-python2 对excel表格操作完整示例

    本文实例讲述了python2 对excel表格操作.分享给大家供大家参考,具体如下: #!/usr/bin/env python2 # -*- coding: utf-8 -*- "&quo ...

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

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

  4. Laravel框架使用maatwebsite/excel导出自动换行

    Laravel框架使用maatwebsite/excel导出自动换行 maatwebsite/excel 版本:2.1 $sheet->getStyle("A6:F6")-& ...

  5. QT之Excel表格操作

    QT之Excel表格操作 提前准备 打开读取excel文件 写入保存excel文件 提前准备 pro文件中添加: QT += axcontainer 在需要使用excel的文件中添加: #includ ...

  6. 关于laravel下composer安装excel插件

    关于laravel下composer安装excel插件的日志 自己为了今后方便,记录下来一下信息.我不知道别人喜不喜欢,我自己研究而已.如果你有意无意看到了,喜欢就看看吧.不喜欢就离开好了,我不介意你 ...

  7. Python的excel表格操作,数据提取分析

    自己编写了一些表格的操作方法,只需传入表格路径和表的位置,就能在根据自己使用的方法展示不同类型的数据如:字典,列表,字典里套列表,列表里套列表,查询最大行数,在指定的行数插入数据等,有疑问欢迎评论 c ...

  8. Python3中的Excel表格操作

    一.2003以前的表格以.xls后缀,用xlwt来写表格,用xlrd来读取表格:2007的表格以.xlsx后缀,用openpyxl来读写表格. 二.xlrd使用介绍 1.导入模块   import x ...

  9. 计算机基础表格函数基础知识大全,大一计算机题库和答案:大一计算机基础excel表格操作题求解if函数部分...

    大一计算机基础excel表格操作题求解if函数部分 引号呢?字符串必须要用引号引起来,不然就是变量,就非法了.要类似这样: =IF(C3="电子",11000) 大学计算机基础期末 ...

最新文章

  1. springboot扫描组件_SpringBoot入口类和@SpringBootApplication详解
  2. net类库中发送电子邮件的方法总结
  3. 痞子衡嵌入式:飞思卡尔i.MX RTyyyy系列MCU启动那些事(8)- 从Raw NAND启动
  4. 关于raid5 5e 5ee的性能 对比及其数据恢复原理
  5. HiveSQL常用优化方法全面总结
  6. iOS 多参数 ...NS_REQUIRES_NIL_TERMINATION 的写法
  7. Qt应用程序只运行一个实例
  8. mysql 5.6 64位解压版_MySQL 5.6 for Windows 解压缩版配置安装(win 10 64位亲测)附安装包下载链接...
  9. 快速理解浮动对标准流的影响
  10. android微信红包提醒,微信红包提醒怎么设置 微信红包提醒设置教程
  11. 3dmax教程技术:3dmax 怎么去掉贴图_3dmax如何去掉贴图
  12. 迷宫(Maze)项目实现
  13. JS 判断元素父子关系
  14. 凸集学习——理解凸集概念、凸包演示
  15. 六度分离(floyd)
  16. 【4】 脑部MRI图像肿瘤分类级别
  17. 电信IoT平台对接及使用
  18. 国内主流云厂商下一代云主机最大可售卖384核
  19. 值得你收藏的办公技巧:word和execl使用技巧
  20. 畅购商城canal依赖(超级简单,不会你来kan我!!)

热门文章

  1. Overload和Override的区别。
  2. K8s集群重启与恢复-Node节点启停
  3. 一周掌握FPGA Verilog HDL语法 day 4
  4. 什么软件测试摩托车速度,这样测试摩托车,才能试出你买的是精品还是废品!...
  5. FPGA操作WM8731音频编解码器从机模式,小白的自我批判
  6. ABP 在 EntityFramework 中使用扩展实现批量操作
  7. 解析html:Xpath快速了解使用
  8. flutter select
  9. 自愿认购效果不佳 绿电消费如何激活?
  10. picoCTF2020-Forensics