日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線(xiàn)咨詢(xún)客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

Laravel開(kāi)發(fā):如何使用Laravel Excel導(dǎo)入和導(dǎo)出Excel文件?

隨著互聯(lián)網(wǎng)的快速發(fā)展,數(shù)據(jù)的處理越來(lái)越重要,特別是在企業(yè)的數(shù)據(jù)管理中。Excel 文件已經(jīng)成為企業(yè)辦公的必備工具之一,因?yàn)樗梢苑奖愕卮鎯?chǔ)、編輯、計(jì)算和分析數(shù)據(jù)。Laravel 是一款被廣泛使用的 PHP 框架,而Laravel Excel 是為 Laravel 開(kāi)發(fā)的一個(gè) Excel 文件操作擴(kuò)展包,它能夠輕松地實(shí)現(xiàn) Excel 文件的導(dǎo)入和導(dǎo)出。

本文將為您詳細(xì)介紹 Laravel Excel 的使用方法。在本文中,我們將學(xué)習(xí)如何安裝 Laravel Excel 并進(jìn)行 Excel 文件的導(dǎo)入和導(dǎo)出。

一. 安裝 Laravel Excel

在終端中通過(guò) Composer 安裝 Laravel Excel

composer require maatwebsite/excel

登錄后復(fù)制

如果您使用的是 Laravel 版本小于 5.5,則需要在config/app.php文件中配置以下兩個(gè)服務(wù)提供者:

MaatwebsiteExcelExcelServiceProvider::class,

登錄后復(fù)制

'Excel' => MaatwebsiteExcelFacadesExcel::class,

登錄后復(fù)制

如果您使用的是 Laravel 版本大于或等于 5.5,則無(wú)需手動(dòng)添加服務(wù)提供者,這些服務(wù)提供者會(huì)自動(dòng)添加到配置中。

在終端中通過(guò) Artisan 命令進(jìn)行發(fā)布:

php artisan vendor:publish --provider="MaatwebsiteExcelExcelServiceProvider"

登錄后復(fù)制

這將自動(dòng)生成以下配置文件和模板文件:

config/excel.php
resources/views/vendor/excel

登錄后復(fù)制

二. 配置 Laravel Excel

配置文件 excel.php 包含了 Laravel Excel 的所有配置選項(xiàng)。這些選項(xiàng)可以直接在 .env 文件中進(jìn)行定義或在config/excel.php文件中進(jìn)行配置。以下是所有可能的選項(xiàng)的詳細(xì)描述。

'default_driver' => 'local',

登錄后復(fù)制

選項(xiàng)“default_driver”指定要使用的默認(rèn) driver ,這里有兩種選擇:local、ftp。

'cache' => [
    'enabled' => true,
    'driver' => 'laravel',
],

登錄后復(fù)制

選項(xiàng)“cache”指定緩存選項(xiàng),緩存可以提高速度,特別是在進(jìn)行大量數(shù)據(jù)處理時(shí)。當(dāng)啟用緩存時(shí),設(shè)置“cache_driver”為“l(fā)aravel”或“memcached”。

'temp_path' => sys_get_temp_dir(),

登錄后復(fù)制

選項(xiàng) temp_path 指定要用于保存臨時(shí)文件的文件系統(tǒng)路徑。

'csv' => [
    'delimiter' => ',',
    'enclosure' => '"',
    'escape_character' => '\',
    'input_encoding' => 'UTF-8',
    'output_encoding' => 'UTF-8',
    'use_bom' => false,
],

登錄后復(fù)制

選項(xiàng)“csv”允許配置 CSV 導(dǎo)入和導(dǎo)出的選項(xiàng),主要有以下選項(xiàng):

delimiter:分隔符,如:逗號(hào),分號(hào),Tab 等等。

enclosure:列的封閉符號(hào)。

escape_character:轉(zhuǎn)義符。

input_encoding:輸入編碼。

output_encoding:輸出編碼。

use_bom:是否使用 Bom 字節(jié)序。

'exports' => [
    'force_resave' => false,
    'ignore_empty' => false,
    'pre_calculate_formulas' => false,
    'maximum_recursion' => 50,
],

登錄后復(fù)制

選項(xiàng)“exports”允許配置導(dǎo)出選項(xiàng),主要有以下選項(xiàng):

force_resave:是否強(qiáng)制進(jìn)行保存。

ignore_empty:是否忽略空單元格。

pre_calculate_formulas:是否預(yù)先計(jì)算公式。

maximum_recursion:遞歸的最大層數(shù)。

三. 導(dǎo)出 Excel 文件

Laravel Excel 對(duì) Excel 文件的導(dǎo)出操作提供了很好的支持。接下來(lái)我們將演示如何使用 Laravel Excel 進(jìn)行數(shù)據(jù)導(dǎo)出。

首先,打開(kāi)控制器文件,創(chuàng)建一個(gè)新的 Excel 文件并導(dǎo)出數(shù)據(jù):

<?php

namespace AppHttpControllers;

use MaatwebsiteExcelFacadesExcel;
use AppExportsUsersExport;

class ExportController extends Controller
{
    public function export()
    {
        return Excel::download(new UsersExport, 'users.xlsx');
    }
}

登錄后復(fù)制

在上面的控制器方法中,我們使用Excel::download()方法創(chuàng)建了一個(gè) Excel 文件。這個(gè)方法接受兩個(gè)參數(shù):

第一個(gè)參數(shù) users 將是導(dǎo)出的數(shù)據(jù)。我們通過(guò)創(chuàng)建一個(gè)帶有 toExcel() 方法的 UsersExport 輔助類(lèi)來(lái)實(shí)現(xiàn)數(shù)據(jù)的導(dǎo)出。第二個(gè)參數(shù)是文件名,它是必需的。

UsersExport 文件的內(nèi)容如下所示:

<?php

namespace AppExports;

use MaatwebsiteExcelConcernsFromCollection;
use AppUser;

class UsersExport implements FromCollection
{
    public function collection()
    {
        return User::select('id', 'name', 'email')->get();
    }
}

登錄后復(fù)制

這個(gè)類(lèi)需要實(shí)現(xiàn) MaatwebsiteExcelConcernsFromCollection 接口。我們可以看到 FromCollection 返回的是一個(gè)集合類(lèi),其中 get() 方法將返回該類(lèi)中存儲(chǔ)的所有用戶(hù)。

這樣,我們就完成了 Laravel Excel 的導(dǎo)出操作。

四. 導(dǎo)入 Excel 文件

Laravel Excel 對(duì) Excel 文件的導(dǎo)入操作也提供了非常好的支持。接下來(lái)我們將演示如何使用 Laravel Excel 進(jìn)行 Excel 文件的數(shù)據(jù)導(dǎo)入。

首先,打開(kāi)控制器文件,將 Excel 文件中的數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫(kù):

<?php

namespace AppHttpControllers;

use IlluminateHttpRequest;
use AppImportsUsersImport;

class ImportController extends Controller
{
    public function import(Request $request)
    {
        $file = $request->file('file');
        Excel::import(new UsersImport, $file);
        return redirect('/')->with('success', 'Excel 數(shù)據(jù)已成功導(dǎo)入!');
    }
}

登錄后復(fù)制

在上面的控制器方法中,我們使用 Excel::import() 方法導(dǎo)入Excel文件。這個(gè)方法接受兩個(gè)參數(shù):

第一個(gè)參數(shù)是 UsersImport,它是導(dǎo)入 Excel 文件到數(shù)據(jù)庫(kù)中的類(lèi)。第二個(gè)參數(shù)是要導(dǎo)入的 Excel 文件,它包含要導(dǎo)入的數(shù)據(jù)。

現(xiàn)在,讓我們看一下 UsersImport 類(lèi):

<?php

namespace AppImports;

use MaatwebsiteExcelConcernsToModel;
use AppUser;

class UsersImport implements ToModel
{
    public function model(array $row)
    {
        return new User([
            'name' => $row[0],
            'email' => $row[1],
            'password' => bcrypt($row[2])
        ]);
    }
}

登錄后復(fù)制

如您所見(jiàn),這個(gè)類(lèi)需要實(shí)現(xiàn) MaatwebsiteExcelConcernsToModel 接口,這個(gè)接口定義了一個(gè) model() 方法。該方法將被用于確定新用戶(hù)的屬性。

在 model() 方法中,我們使用數(shù)組的數(shù)據(jù)行信息來(lái)存儲(chǔ)用戶(hù)的屬性。這里我們?cè)贓xcel文件中假設(shè)第1行為用戶(hù)名,第2行為電子郵箱,第3行為密碼。

這就是我們使用 Laravel Excel 進(jìn)行 Excel 文件的導(dǎo)入和導(dǎo)出的方式。相信您已經(jīng)了解到了 Laravel Excel 的基本使用方式和一些高級(jí)特性。希望這篇文章對(duì)您的 Laravel 學(xué)習(xí)有所幫助。

以上就是Laravel開(kāi)發(fā):如何使用Laravel Excel導(dǎo)入和導(dǎo)出Excel文件?的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注www.xfxf.net其它相關(guān)文章!

分享到:
標(biāo)簽:EXCEL laravel 導(dǎo)入/導(dǎo)出
用戶(hù)無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定