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

相关文章

使用SQL语言查询多个Excel表格的操作方法

《使用SQL语言查询多个Excel表格的操作方法》本文介绍了如何使用SQL语言查询多个Excel表格,通过将所有Excel表格放入一个.xlsx文件中,并使用pandas和pandasql库进行读取和... 目录如何用SQL语言查询多个Excel表格如何使用sql查询excel内容1. 简介2. 实现思路3

python实现pdf转word和excel的示例代码

《python实现pdf转word和excel的示例代码》本文主要介绍了python实现pdf转word和excel的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录一、引言二、python编程1,PDF转Word2,PDF转Excel三、前端页面效果展示总结一

Python实现将实体类列表数据导出到Excel文件

《Python实现将实体类列表数据导出到Excel文件》在数据处理和报告生成中,将实体类的列表数据导出到Excel文件是一项常见任务,Python提供了多种库来实现这一目标,下面就来跟随小编一起学习一... 目录一、环境准备二、定义实体类三、创建实体类列表四、将实体类列表转换为DataFrame五、导出Da

Python数据处理之导入导出Excel数据方式

《Python数据处理之导入导出Excel数据方式》Python是Excel数据处理的绝佳工具,通过Pandas和Openpyxl等库可以实现数据的导入、导出和自动化处理,从基础的数据读取和清洗到复杂... 目录python导入导出Excel数据开启数据之旅:为什么Python是Excel数据处理的最佳拍档

使用Python处理CSV和Excel文件的操作方法

《使用Python处理CSV和Excel文件的操作方法》在数据分析、自动化和日常开发中,CSV和Excel文件是非常常见的数据存储格式,ython提供了强大的工具来读取、编辑和保存这两种文件,满足从基... 目录1. CSV 文件概述和处理方法1.1 CSV 文件格式的基本介绍1.2 使用 python 内

VUE动态绑定class类的三种常用方式及适用场景详解

《VUE动态绑定class类的三种常用方式及适用场景详解》文章介绍了在实际开发中动态绑定class的三种常见情况及其解决方案,包括根据不同的返回值渲染不同的class样式、给模块添加基础样式以及根据设... 目录前言1.动态选择class样式(对象添加:情景一)2.动态添加一个class样式(字符串添加:情

Python使用Pandas库将Excel数据叠加生成新DataFrame的操作指南

《Python使用Pandas库将Excel数据叠加生成新DataFrame的操作指南》在日常数据处理工作中,我们经常需要将不同Excel文档中的数据整合到一个新的DataFrame中,以便进行进一步... 目录一、准备工作二、读取Excel文件三、数据叠加四、处理重复数据(可选)五、保存新DataFram

mysql重置root密码的完整步骤(适用于5.7和8.0)

《mysql重置root密码的完整步骤(适用于5.7和8.0)》:本文主要介绍mysql重置root密码的完整步骤,文中描述了如何停止MySQL服务、以管理员身份打开命令行、替换配置文件路径、修改... 目录第一步:先停止mysql服务,一定要停止!方式一:通过命令行关闭mysql服务方式二:通过服务项关闭

SpringBoot使用Apache POI库读取Excel文件的操作详解

《SpringBoot使用ApachePOI库读取Excel文件的操作详解》在日常开发中,我们经常需要处理Excel文件中的数据,无论是从数据库导入数据、处理数据报表,还是批量生成数据,都可能会遇到... 目录项目背景依赖导入读取Excel模板的实现代码实现代码解析ExcelDemoInfoDTO 数据传输

java poi实现Excel多级表头导出方式(多级表头,复杂表头)

《javapoi实现Excel多级表头导出方式(多级表头,复杂表头)》文章介绍了使用javapoi库实现Excel多级表头导出的方法,通过主代码、合并单元格、设置表头单元格宽度、填充数据、web下载... 目录Java poi实现Excel多级表头导出(多级表头,复杂表头)上代码1.主代码2.合并单元格3.