1. 程式人生 > >laravel excel安裝使用,匯入(讀)匯出(資料寫入檔案)

laravel excel安裝使用,匯入(讀)匯出(資料寫入檔案)

1、簡介

Laravel Excel 在 Laravel 5 中整合 PHPOffice 套件中的 PHPExcel,從而方便我們以優雅的、富有表現力的程式碼實現Excel/CSV檔案的匯入和匯出。

本文我們將在Laravel中使用Laravel Excel簡單實現Excel檔案的匯入和匯出。

2、安裝&配置

使用Composer安裝依賴

首先在Laravel專案根目錄下使用Composer安裝依賴:

composer require maatwebsite/excel ~2.0.0
安裝後的設定

在config/app.php中註冊服務提供者到providers陣列:


Maatwebsite\Excel\ExcelServiceProvider::class,

同樣在config/app.php中註冊門面到aliases陣列:

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

如果想要對Laravel Excel進行更多的自定義配置,執行如下Artisan命令:

php artisan vendor:publish

執行成功後會在config目錄下生成一個配置檔案excel.php。


3、匯出Excel檔案
為了演示Laravel Excel相關功能,我們為本測試建立一個乾淨的控制器ExcelController.php:

php artisan make:controller ExcelController --plain

然後在routes.php中定義相關路由:

Route::get('excel/export','[email protected]');
Route::get('excel/import','[email protected]');

接下來我們先在ExcelController.php中定義export方法實現匯出功能:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;

use Excel;

class ExcelController extends Controller
{
    //Excel檔案匯出功能 By Laravel學院
    public function export(){
        $cellData = [
            ['學號','姓名','成績'],
            ['10001','AAAAA','99'],
            ['10002','BBBBB','92'],
            ['10003','CCCCC','95'],
            ['10004','DDDDD','89'],
            ['10005','EEEEE','96'],
        ];
        Excel::create('學生成績',function($excel) use ($cellData){
            $excel->sheet('score', function($sheet)use ($cellData){
                $sheet->rows($cellData);
            });
        })->export('xls');
    }
}

我們在瀏覽器中訪問http://laravel.app:8000/excel/export,會匯出一個名為學生成績.xls的Excel檔案:

使用Laravel Excel匯出檔案

如果你要匯出csv或者xlsx檔案,只需將export方法中的引數改成csv或xlsx即可。

如果還要將該Excel檔案儲存到伺服器上,可以使用store方法:

Excel::create('學生成績',function($excel) use ($cellData){
     $excel->sheet('score', function($sheet) use ($cellData){
         $sheet->rows($cellData);
     });
})->store('xls')->export('xls');
檔案預設儲存到storage/exports目錄下,如果出現檔名中文亂碼,將上述程式碼檔名做如下修改即可:

iconv('UTF-8', 'GBK', '學生成績')

4、匯入Excel檔案

我們將剛才儲存到伺服器上的Excel檔案匯入進來,匯入很簡單,使用Excel門面上的load方法即可:

//Excel檔案匯入功能 By Laravel學院
public function import(){
    $filePath = 'storage/exports/'.iconv('UTF-8', 'GBK', '學生成績').'.xls';
    Excel::load($filePath, function($reader) {
        $data = $reader->all();
        dd($data);
    });
}

load方法基於專案根路徑作為根目錄,同樣我們對中文進行了轉碼,否則會提示檔案不存在。

在瀏覽器中訪問http://laravel.app:8000/excel/import,頁面顯示如下:


使用Laravel Excel匯入檔案

當然,Laravel Excel還有很多其它功能,比如將Blade檢視匯出為Excel或CSV,以及對匯入/匯出更加細粒度的控制

相關推薦

laravel excel安裝使用匯入匯出資料寫入檔案

1、簡介 Laravel Excel 在 Laravel 5 中整合 PHPOffice 套件中的 PHPExcel,從而方便我們以優雅的、富有表現力的程式碼實現Excel/CSV檔案的匯入和匯出。 本文我們將在Laravel中使用Laravel Excel簡單實現E

SRPG遊戲開發三十五第八章 遊戲中的資料 - 五 測試匯出匯入與編輯器說明Test, Export, Import and Description

返回總目錄 第八章 遊戲中的資料(Data in Game) 在之前的章節中,我們進行地圖物件的生成,移動等操作。 這一章本來可以進行戰鬥的編寫,不過資料缺失是一個問題。 所以這一章我們先來建立一些資料,以及如何編輯它們,是否需要生成配置檔案等。 文章

將列表資料寫入檔案python檔案:txtcsvexcel

本篇為轉載,作為記錄學習用的,原作者如下:   作者:記不清下一秒  來源:CSDN  原文:https://blog.csdn.net/u010513327/article/details/80889846    以下是原文內容:

UE4旅途之如何把別的專案的燈光匯入另一專案中團隊

        小白歡迎評論,共同探討,共同進步            方法很簡單,簡單到無法想象,廢話不多說,開啟需要複製燈光的專案和目標專案,直接選擇想要拷貝的燈光,直接複製貼上到目標專案即可!

wordpress上傳外掛安裝未能找到WordPress內容目錄wp-content

“未能找到WordPress內容目錄(wp-content)”問題的解決辦法 wordpress上傳外掛安裝的過程中,出現錯誤“未能找到WordPress內容目錄(wp-content)”。 解決辦

資料庫事務和隔離級別重點不可重複和可重複度的區別

資料庫事務的四個特性(ACID) 1 、原子性 (Atomicity) 事務是資料庫的邏輯工作單位,事務中包含的各操作要麼都做,要麼都不做 2 、一致性 (Consistency) 事務執行的結果必須是使資料庫從一個一致性狀態變到另一個一致性狀態。

二進制中1的個數不懂題目怎麽辦

分享 count 怎辦 pub sign com ret number 圖片 讀不懂題目怎辦? 一看這道題目我還想的是,這裏的整數這麽轉化成二進制,然後在轉化成輔助的二進制,結果答案就是輸入的二進制,真真是腦子限制了我的想象力啊 1 class Solution

二叉樹的儲存表示與實現陳銳葛麗萍跟我學資料結構整理

1.二叉樹的順序儲存, 即用一維陣列按照從左到右,從上到下的順序依次儲存,分析計算可得每個節點的編號,類似於樹狀陣列。 適用於完全二叉樹。 儲存非完全二叉樹時,需要在一維陣列中將二叉樹不存在的結點位置空出,並用NULL填充。 2.二叉樹.的鏈式儲存 二叉樹的鏈式儲存結構 二叉

基於GDAL庫讀取.nc檔案以海洋表溫資料為例

  對於做海洋資料處理的同學,會經常遇到nc格式的檔案,nc檔案的格式全稱是NetCDF,具體的詳細解釋請查詢官網【https://www.unidata.ucar.edu/software/netcdf/docs/index.html】,一般從全球大洋資料庫裡面下載的溫鹽、風場及雲量等資料,基本上是nc檔案

類載入器、反射反射的應用例項泛型擦除和配置檔案

類載入器 1.1類的載入 當程式要使用某個類時,如果該類還未被載入到記憶體中,則系統會通過載入,連線,初始化三步來實現對這個類進行初始化。   1.1.1載入 指將class檔案讀入記憶體,併為之建立一個Class物件。 任何類被使用時系統都會建立一個Class物件(位元組碼檔案物件,建

Python模組【建立安裝匯入使用】

1.把功能類似的程式碼放到一個目錄下    2.匯入該模組(直接匯入該目錄名稱會報錯)   目錄結構:      模組程式碼展示:         匯入測試程式碼:      測試:    3.建立__init__.py檔案(表示該目錄為一個模組)     4.編輯__i

DB2的資料移動:匯入Import匯出Export載入Load

目錄 檔案的格式  DB2中的資料移動,包括:  1. 資料的匯入(Import)  2. 資料的匯出(Export)  3. 資料的載入(Load)  匯入和載入都是利用DB2的相關命令把某種格式的檔案中的資料儲存到資料庫中的表中;匯出是指把DB2資料庫的

DB2資料匯入Import 匯出ExportLoad

資料的匯入 例七:把C盤根目錄下的org.txt檔案中的資料匯入到org表中 import from c:\org.txt of del insert into org 匯入命令和匯出命令的格式基本上處於對應的關係,import對應export,from對應to,檔名和檔案格式代表的含義相同,但是匯入命令支

Laravel-excel安裝及使用

1、 在根目錄下的composer.json下的require中加入"maatwebsite/excel": "2.*" 如圖所示: 2、 使用composer update更新composer 這裡要耐心等待 更新完畢。 但是查看了一

echarts圖表中的點、柱形或者折線顯示不出來但是有資料的問題解決另附後臺返回資料例項程式碼

附:程式碼例項<script> var myChart; var eCharts; require.config({ paths : { 'echarts' : '/static/js/echa

網路流進行轉化String轉化直接寫入檔案

將網路流轉化為String InputStream inputStream = url.openStream();   // 從URL上取得位元組流ByteArrayOutputStream baos = new ByteArrayOutputStream();int ch

獲取android應用簽名證書打包APK用到的那個檔案的SHA1MD5,SHA256值

今天,看到(百度地圖android SDK 2.1.3以及之後的版本)的申請KEY中 安全碼需要用到:簽名證書SHA1的值。 1.使用CMD(命令列視窗),進入簽名檔案所在的目錄 2.輸入命令:keytool -list -v -keystore debug.ke

2018/10/03-字串指令重複指令、操作資料緩衝區指令、rep與movx指令-《惡意程式碼分析實戰》

  重複指令是一組操作資料緩衝區的指令。資料緩衝區通常是一個位元組陣列的形式,也可以是單字或者雙字。(Intel'稱這些指令為字串指令)   最常見的資料緩衝區操作指令是movsx、cmps、stosx和scasx,其中x可以是b、w後者d,分別表示位元組、字和雙字。這些指令對任何形式的資料都有效。   

JavaEE——爬蟲重寫request,使其可以讀取檔案

 Servlet裡面的request只能讀取字串,現在重寫,使其也可以讀取檔案 public class MyHttpServletRequest extends HttpServletRequestWrapper { //先建立一個新的集合,這個集合我們要在其中新增普通表單欄位和檔

JavaEE——爬蟲讀取jsp網頁上上傳的檔案

讀取jsp網頁上上傳的檔案是不能用request.getParameter(arg0);來讀取的 因為request裡面的鍵值對裡的值只能儲存String陣列,不能儲存檔案 所以接下來就解決這個問題 佈置網頁 <%@ page language="java" import="j