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

相关文章

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

Python进行JSON和Excel文件转换处理指南

《Python进行JSON和Excel文件转换处理指南》在数据交换与系统集成中,JSON与Excel是两种极为常见的数据格式,本文将介绍如何使用Python实现将JSON转换为格式化的Excel文件,... 目录将 jsON 导入为格式化 Excel将 Excel 导出为结构化 JSON处理嵌套 JSON:

Python使用openpyxl读取Excel的操作详解

《Python使用openpyxl读取Excel的操作详解》本文介绍了使用Python的openpyxl库进行Excel文件的创建、读写、数据操作、工作簿与工作表管理,包括创建工作簿、加载工作簿、操作... 目录1 概述1.1 图示1.2 安装第三方库2 工作簿 workbook2.1 创建:Workboo

SpringBoot集成EasyPoi实现Excel模板导出成PDF文件

《SpringBoot集成EasyPoi实现Excel模板导出成PDF文件》在日常工作中,我们经常需要将数据导出成Excel表格或PDF文件,本文将介绍如何在SpringBoot项目中集成EasyPo... 目录前言摘要简介源代码解析应用场景案例优缺点分析类代码方法介绍测试用例小结前言在日常工作中,我们经

SpringBoot+EasyPOI轻松实现Excel和Word导出PDF

《SpringBoot+EasyPOI轻松实现Excel和Word导出PDF》在企业级开发中,将Excel和Word文档导出为PDF是常见需求,本文将结合​​EasyPOI和​​Aspose系列工具实... 目录一、环境准备与依赖配置1.1 方案选型1.2 依赖配置(商业库方案)二、Excel 导出 PDF

使用Python删除Excel中的行列和单元格示例详解

《使用Python删除Excel中的行列和单元格示例详解》在处理Excel数据时,删除不需要的行、列或单元格是一项常见且必要的操作,本文将使用Python脚本实现对Excel表格的高效自动化处理,感兴... 目录开发环境准备使用 python 删除 Excphpel 表格中的行删除特定行删除空白行删除含指定