Maatwebsite / Laravel-Excel 3.1(只适用3.1以上)

2024-08-28 02:58

本文主要是介绍Maatwebsite / Laravel-Excel 3.1(只适用3.1以上),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.安装

composer require maatwebsite/excel

该Maatwebsite\Excel\ExcelServiceProvider是自动发现,并在默认情况下注册,但如果你想自己注册它:

添加 ServiceProvider config/app.php

'providers' => [/** Package Service Providers...*/Maatwebsite\Excel\ExcelServiceProvider::class,
]

添加 Facade in config/app.php

'aliases' => [...'Excel' => Maatwebsite\Excel\Facades\Excel::class,
]

导出类代码(app\Tools\ExcelExports.php)

<?php
namespace App\Tools;
use Maatwebsite\Excel\Concerns\FromCollection;
use Maatwebsite\Excel\Concerns\Exportable;
use Maatwebsite\Excel\Concerns\WithHeadings;   //设置标题
use Maatwebsite\Excel\Concerns\WithEvents; //格式化单元格
use Maatwebsite\Excel\Events\AfterSheet; //格式化单元格/*** Excel导出通用类*/
class ExcelExports implements FromCollection, WithHeadings  ,WithEvents
{use Exportable;private $data;private $headings;//数据注入public function __construct($data, $headings){$this->data = $data;$this->headings = $headings;}//实现FromCollection接口public function collection(){return collect($this->data);}//实现WithHeadings接口public function headings(): array{return $this->headings;}/*** @return array*/public function registerEvents(): array{return [AfterSheet::class    => function(AfterSheet $event) {// ... 此处你可以任意格式化$event->sheet->getDelegate()->getColumnDimension('A')->setWidth(30); //设置宽度},];}
}

导出类代码(app\Tools\ExcelImport.php)

<?phpnamespace App\Tools;
use Illuminate\Support\Collection;
use Maatwebsite\Excel\Concerns\ToCollection;
/*** Excel导入通用类*/
class ExcelImport implements ToCollection
{public $data;protected $delTitle;/**** @param $title integer   //去掉几行标题  默认一行*/public function __construct($delTitle = 1){$this->delTitle = $delTitle;}/*** @param Collection $rows*/public function collection(Collection $rows){$this->delTitle($rows);//$rows 是数组格式$this->data = $rows;foreach ($rows as $row) {//这就是你导入的内容var_dump($row);die;}}public function delTitle (&$rows) {$rows = $rows->slice($this->delTitle)->values();}
}

调用方法(php artisan make:controller ExcelController)

<?phpnamespace App\Http\Controllers;
use App\Tools\ExcelExports;
use App\Tools\ExcelImport;
use Illuminate\Http\Request;
use Excel;
use DB;class ExcelController extends Controller
{public function export(){$cellData = DB::table('user')->select('id','name')->get()->toArray();$header = ['id'  => '编号', 'name' => '名字', ];return Excel::download(new ExcelExports($cellData,$header), 'users.xlsx');}//Excel文件导入功能public function import(){$filePath = iconv('UTF-8', 'GBK', '20201230090705').'.xls';// 'imports' 在\config\filesystems.php 添加以下代码// 'disks' => [// ... // 'imports' => [// 'driver' => 'local',// 'root' => public_path('uploads/behaviors/'), //导入文件存放的目录// 'url' => env('APP_URL').'/public',// 'visibility' => 'public',// ],// ],Excel::import(new ExcelImport, $filePath, 'imports');}}

根据以下文章所写
使用方法:
http://www.edbiji.com/doccenter/showdoc/209/nav/3722.html

https://www.cnblogs.com/niuben/p/11458450.html

设置列宽等其他功能使用方法:
https://learnku.com/laravel/t/24161

https://blog.csdn.net/lihongxian/article/details/106521367?utm_medium=distribute.pc_relevant.none-task-blog-OPENSEARCH-3.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-OPENSEARCH-3.control

这篇关于Maatwebsite / Laravel-Excel 3.1(只适用3.1以上)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1113536

相关文章

前端导出Excel文件出现乱码或文件损坏问题的解决办法

《前端导出Excel文件出现乱码或文件损坏问题的解决办法》在现代网页应用程序中,前端有时需要与后端进行数据交互,包括下载文件,:本文主要介绍前端导出Excel文件出现乱码或文件损坏问题的解决办法,... 目录1. 检查后端返回的数据格式2. 前端正确处理二进制数据方案 1:直接下载(推荐)方案 2:手动构造

C#利用Free Spire.XLS for .NET复制Excel工作表

《C#利用FreeSpire.XLSfor.NET复制Excel工作表》在日常的.NET开发中,我们经常需要操作Excel文件,本文将详细介绍C#如何使用FreeSpire.XLSfor.NET... 目录1. 环境准备2. 核心功能3. android示例代码3.1 在同一工作簿内复制工作表3.2 在不同

java读取excel文件为base64实现方式

《java读取excel文件为base64实现方式》文章介绍使用ApachePOI和EasyExcel处理Excel文件并转换为Base64的方法,强调EasyExcel适合大文件且内存占用低,需注意... 目录使用 Apache POI 读取 Excel 并转换为 Base64使用 EasyExcel 处

Python Excel 通用筛选函数的实现

《PythonExcel通用筛选函数的实现》本文主要介绍了PythonExcel通用筛选函数的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着... 目录案例目的示例数据假定数据来源是字典优化:通用CSV数据处理函数使用说明使用示例注意事项案例目的第一

Java利用Spire.XLS for Java设置Excel表格边框

《Java利用Spire.XLSforJava设置Excel表格边框》在日常的业务报表和数据处理中,Excel表格的美观性和可读性至关重要,本文将深入探讨如何利用Spire.XLSforJava库... 目录Spire.XLS for Java 简介与安装Maven 依赖配置手动安装 JAR 包核心API介

Python实现Excel批量样式修改器(附完整代码)

《Python实现Excel批量样式修改器(附完整代码)》这篇文章主要为大家详细介绍了如何使用Python实现一个Excel批量样式修改器,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录前言功能特性核心功能界面特性系统要求安装说明使用指南基本操作流程高级功能技术实现核心技术栈关键函

Python实现批量CSV转Excel的高性能处理方案

《Python实现批量CSV转Excel的高性能处理方案》在日常办公中,我们经常需要将CSV格式的数据转换为Excel文件,本文将介绍一个基于Python的高性能解决方案,感兴趣的小伙伴可以跟随小编一... 目录一、场景需求二、技术方案三、核心代码四、批量处理方案五、性能优化六、使用示例完整代码七、小结一、

C#使用Spire.XLS快速生成多表格Excel文件

《C#使用Spire.XLS快速生成多表格Excel文件》在日常开发中,我们经常需要将业务数据导出为结构清晰的Excel文件,本文将手把手教你使用Spire.XLS这个强大的.NET组件,只需几行C#... 目录一、Spire.XLS核心优势清单1.1 性能碾压:从3秒到0.5秒的质变1.2 批量操作的优雅

99%的人都选错了! 路由器WiFi双频合一还是分开好的专业解析与适用场景探讨

《99%的人都选错了!路由器WiFi双频合一还是分开好的专业解析与适用场景探讨》关于双频路由器的“双频合一”与“分开使用”两种模式,用户往往存在诸多疑问,本文将从多个维度深入探讨这两种模式的优缺点,... 在如今“没有WiFi就等于与世隔绝”的时代,越来越多家庭、办公室都开始配置双频无线路由器。但你有没有注

在Linux系统上连接GitHub的方法步骤(适用2025年)

《在Linux系统上连接GitHub的方法步骤(适用2025年)》在2025年,使用Linux系统连接GitHub的推荐方式是通过SSH(SecureShell)协议进行身份验证,这种方式不仅安全,还... 目录步骤一:检查并安装 Git步骤二:生成 SSH 密钥步骤三:将 SSH 公钥添加到 github