b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

工具方法:Laravel Excel实现Excel / CSV文件导入和导出功能

电脑杂谈  发布时间:2020-09-18 02:04:34  来源:网络整理

jquery excel导入 百分比进度条_laravel 读excel导入_laravel 读excel导入

1.Laravel Excel

Laravel Excel是一个扩展软件包,用于基于PHPExcel开发的Laravel框架的Excel / CSV文件的导入和导出功能。使用起来非常方便。

其Github地址为:

当然,您也可以使用PHPExcel,但请注意,PHPExcel官方团队已停止维护。现在,官方团队开发并维护其升级版的PHPExcel扩展程序包,称为:PhpSpreadsheet

我们今天主要介绍(因为我是前天在项目中使用了导出,最后选择了LaravelExxcel☺):Laravel Excel

2.安装

建议:在安装和使用每个扩展包时,请仔细查看作者或官方文档,例如Github上的自述文件,其中大多数是英文的,如果您不懂,也不要紧它,一些关键字可以理解它。您对PHP版本,Mysql版本等的要求。 。

例如:

这里写图片描述

让我们根据Github上的自述文件进行安装。

laravel 读excel导入_jquery excel导入 百分比进度条_laravel 读excel导入

首先使用Composer在Laravel项目的根目录中安装依赖项:

composer require "maatwebsite/excel:~2.1.0"

在config / app.php中将服务提供者注册到providers数组:

Maatwebsite\Excel\ExcelServiceProvider::class,

在config / app.php中将外观注册到别名数组:

Excel => Maatwebsite\Excel\Facades\Excel::class,

建议您生成Laravel Excel配置文件,使用以下命令:

php artisan vendor:publish --provider="Maatwebsite\Excel\ExcelServiceProvider"

然后您将在配置目录中找到一个excel.php文件

您可以打开它并查看常规配置项,主要是缓存,表单以及导入和导出设置。

jquery excel导入 百分比进度条_laravel 读excel导入_laravel 读excel导入

3.导出文件

稍后我将直接显示我的测试代码,但是在此之前,您需要一个路由和一个控制器(一种导出方法)

创建两条路线:

//Excel导出
Route::get(/excel/export,Member\MemberController@export)->name(/excel/export);
//Excel导入
Route::get(/excel/import,Member\MemberController@import)->name(/excel/import);

要创建控制器,可以使用artisan命令或手动创建它:

php artisan make:controller 控制器名称

导出方法:


namespace App\Http\Controllers\Member;
use App\Http\Controllers\BaseController;
use App\Model\Member\MemberFollow;
use Illuminate\Http\Request;
use Illuminate\Database\QueryException;
use Excel;
class MemberController extends BaseController
{
    /**
     *
     * Excel导出
     */
    public function export()
    {
        ini_set(memory_limit,500M);
        set_time_limit(0);//设置超时限制为0分钟
        $cellData = MemberFollow::select(xt_name,sex,face)->limit(5)->get()->toArray();
        $cellData[0] = array(昵称,性别,头像);
        for($i=0;$i$cellData);$i++){
            $cellData[$i] = array_values($cellData[$i]);
            $cellData[$i][0] = str_replace(=, .=,$cellData[$i][0]);
        }
        //dd($cellData);
        Excel::create(用户信息,function($excel) use ($cellData){
            $excel->sheet(score, function($sheet) use ($cellData){
                $sheet->rows($cellData);
            });
        })->export(xls);
        die;
    }
}

让我解释上面的代码。

a。 Ini_set设置内存溢出大小和超时时间,因为我的数据量相对较大,并且我不想直接转到php.ini对其进行修改,因此我直接在此处进行设置。您还可以在excel.php配置项中修改缓存大小并进行适当调整。

jquery excel导入 百分比进度条_laravel 读excel导入_laravel 读excel导入

b。首先,您需要知道cellData是一个二维数组,并且该二维数组中的每个一维数组都必须是一个索引数组,这样格式才正确。

因此,我首先对查询的$ cellData执行toArray()转换操作。然后,让我们看一下查询的结构,因为数组表中的每一列都是一个字段,因此确定一维数组是关联数组,需要通过键进行处理。

这里写图片描述

处理完for循环后:

这里写图片描述

c。另一个在for循环中

php

$ cellData [$ i] [0] = str_replace('=',''。'=',$ cellData [$ i] [0]);

这个地方有点麻烦,因为当导出的数据中列的值的第一个字符在Excel单元格中为等号“ =”时,它将执行计算处理,然后报告错误。 。例如,我到处的昵称之一是“ = sunshine”,所以我只用空格加等号代替等号

实际上,不需要进行匹配和替换,因为excel.php文件中包含配置项,但是我的配置没有生效。如果以后找到更好的解决方案,它将及时更新,或者任何知道的人都可以提供一些指点。

laravel 读excel导入_laravel 读excel导入_jquery excel导入 百分比进度条

 /*
        |--------------------------------------------------------------------------
        | Calculate
        |--------------------------------------------------------------------------
        |
        | By default cells with formulas will be calculated.
        |
        */
        calculate               => false,

默认情况下,将计算计算公式的单元格。我将其设置为false无效。因此,匹配并替换。

如果要导出csv或xlsx文件,只需将导出方法中的参数更改为csv或xlsx。您还可以执行连续操作以将导出的文件直接保存到服务器。

使用存储方法:

 Excel::create(用户信息,function($excel) use ($cellData){
            $excel->sheet(score, function($sheet) use ($cellData){
                $sheet->rows($cellData);
            });
        })->store(xls)->export(xls);

好,导出完成。

4.导入文件

导入我们可以直接在第一步中注册的Excel外观上使用load方法

/**
     *
     * Excel导入
     */
    public function import(){
        $filePath = storage/exports/.iconv(UTF-8, GBK, 用户信息)..xls;
        Excel::load($filePath, function($reader) {
            $data = $reader->all();
            dd($data);
        });
    }

一个简单的操作就完成了,这个插件很好用。如果您已经解决或遇到上述问题,请留言。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shumachanpin/article-320063-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 伊濑茉莉也
        伊濑茉莉也

        可以说这是在筛选优秀人人才

      • 付亚静
        付亚静

        我们也要巡航才对吗

      • 陈幽公妫宁
        陈幽公妫宁

        老家台湾的

      热点图片
      拼命载入中...