laravel excel导入导出

这篇具有很好参考价值的文章主要介绍了laravel excel导入导出。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、安装第三方

composer require maatwebsite/excel

版本2.1和现在版本 有所不一样

二、导入

<?php
namespace App\Import;
use Maatwebsite\Excel\Concerns\ToCollection;

class TestImport implements ToCollection
{
	public function __construct()
    {
        
    }

	public function collection(Collection $collection)
	{
		//处理导入文件的数据,完成内部业务数据逻辑
		unset($collection[0]);
        foreach ($collection as $key=>$row)
        {
        	//处理数据
        }
	}

}
<?php
namespace App\Http\Controller;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Import\TestImport;
use Maatwebsite\Excel\Facades\Excel;

class TestController extends Controller
{
	public function test(Request $request)
	{
		$path1 = $request->file('file')->store('temp');
        $path = storage_path('app').'/'.$path1;
	    Excel::import(new TestImport(),$path);
	}
}

三、导出

<?php
namespace App\Derive;
use Maatwebsite\Excel\Concerns\FromCollection;
use Maatwebsite\Excel\Concerns\Exportable;
use Maatwebsite\Excel\Concerns\WithHeadings;

class TestDerive implements FromCollection, WithHeadings
{
	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;
    }
}
<?php
namespace App\Http\Controller;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Import\TestImport;
use Maatwebsite\Excel\Facades\Excel;
use App\Derive\TestDerive;
use Illuminate\Support\Facades\File;

class TestController extends Controller
{
	public function test()
	{
		//自定义导出的数据
		arrErrorInfo = [];
		//导出的文件表头信息
		$head = [
            'uid','reason'
        ];
		//根据数据生成的excel文件地址 自定义
		$publicpath = date('Y-m-d',time()).'/test.xls';
		//如果这个地址前面有日期的区分,需要判断文件夹赋予文件权限
		if ( !File::isDirectory(date('Y-m-d',time())) )
            File::makeDirectory(date('Y-m-d',time()), $mode = 0777, true, true);
		$bRet = Excel::store(new AvatarExcel($arrErrorInfo, $head), $publicpath);
		//todo 判断生成的文件是否为真,根据业务处理
	}
}

config配置文件夹中excel.php,配置生成文件的地址文章来源地址https://www.toymoban.com/news/detail-692559.html

    'local_path'          => public_path().'/error_excel/',

到了这里,关于laravel excel导入导出的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • POI 实现Excel导入导出

    什么是POI Apache POI 是用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程序对Microsoft Office格式档案读和写的功能。POI为“Poor Obfuscation Implementation”的首字母缩写,意为“简洁版的模糊实现”。 生成xls和xlsx有什么区别呢? XLS XLSX 只能打开xls格式,无法直接打开x

    2024年02月03日
    浏览(33)
  • C# 导出EXCEL 和 导入

    2024年01月16日
    浏览(27)
  • SpringBoot实现Excel导入导出

    话不多说,直接上代码 依赖文档 找到pom文件,如下图所示 引入需要的依赖 导出写法: 导入写法: 已上就是导入导出

    2024年02月09日
    浏览(33)
  • 【vue导入导出Excel】vue简单实现导出和导入复杂表头excel表格功能【纯前端版本和配合后端版本】

    前言 这是一个常用的功能,就是导入和导出excel表格 但是时常会遇到一些复杂表头的表格导出和导入 比如我这个案例里面的三层表头的表格。 网上看了下发现了一个非常简单导出和导入方法 当然这个是纯前端的版本,会出现分页不好下载的情况。所以实际工作中,导出还是

    2024年02月11日
    浏览(45)
  • Vue3 导入导出Excel

    提供一个 Excel 文件,将里面的内容导出成 JSON 数组 提供一个 JSON 数组,生成 Excel 文件并下载 表格 1. 安装步骤 2.使用 3.导出 导出之后发现数据结构不是我们想要的那种,此时就能通过以下方法转换。 更改列宽 4.导入 如果excel中含有日期,需要解析时间格式的内容。 XLSL.re

    2024年02月14日
    浏览(31)
  • .NET6导入导出Excel

    一、使用NPOI导出Excel //引入NPOI包 HTML JS C# 二、使用NPOI导入Excel HTML JS C# 控制器代码 添加ExcelHelper类 添加Extensions类 添加实体类UserEntity,要跟Excel的列名一致 Excel模板 实现效果

    2024年02月12日
    浏览(29)
  • 纯前端实现 导入 与 导出 Excel

    最近经常在做 不规则 Excel 的导入,或者一些普通 Excel 的导出,当前以上说的都是纯前端来实现;下面我们来聊聊经常用到的Excel导出与导入的实现方案,本文实现技术栈以 Vue2 + JS 为例 导入分类: 调用 API 完全由后端来解析数据,清洗数据,前端只负责调用 API ; 前端解析

    2024年02月09日
    浏览(34)
  • 使用luckysheet实现excel导入导出

    luckysheet-demo: luckysheet-demoexcel导入导出实例 使用组件 1. luckysheet在线excel 2. luckyexcel excel导入插件 3. exceljs 导出excel数据 导出exceljs的二次封装,可直接使用如下

    2024年02月12日
    浏览(34)
  • 【前端】批量导入和导出Excel数据

    excel导入功能需要使用npm包 xlsx ,所以需要安装 xlsx 插件,读取和写入都依赖她 vue-element-admin模板提供了一个导入excel数据的文件,我们只需用即可 代码地址: https://github.com/PanJiaChen/vue-element-admin/blob/master/src/components/UploadExcel/index.vue 将vue-element-admin提供的导入功能新建一个组件

    2024年02月09日
    浏览(33)
  • PHP的Excel导出与导入

    下载地址(注意php版本大于7.3可能会报错) GitHub - PHPOffice/PHPExcel: ARCHIVED 解压 1、导出 Excel 2、导入Excel 先通过文件上传方式到服务器 php+html+js+ajax实现文件上传_php上传文件ajax-CSDN博客 读取数据

    2024年02月07日
    浏览(23)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包