1. 程式人生 > >在 Laravel 5 中使用 Laravel Excel 實現 Excel/CSV 檔案匯入匯出功能

在 Laravel 5 中使用 Laravel Excel 實現 Excel/CSV 檔案匯入匯出功能

1、簡介

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

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

2、安裝&配置

使用Composer安裝依賴

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

composer require maatwebsite/excel

要安裝外掛為3.0之前的,3.0的話官方還沒有文件,按之前操作方式去操作會報錯,切記

如果按照命令執行後,發現安裝版本為3.0後怎麼辦

解除安裝命令

composer remove maatwebsite/excel

然後指定版本安裝

composer require maatwebsite/excel 2.*

表示安裝2.0之後的任何可安裝版本

親測好使

安裝後的設定

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

Maatwebsite\Excel\ExcelServiceProvider::class,

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

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

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://www.poem.com/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方法基於專案根路徑作為根目錄,同樣我們對中文進行了轉碼,否則會提示檔案不存在。

相關推薦

Laravel 5 使用 Laravel Excel 實現 Excel/CSV 檔案匯入匯出功能

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

Laravel 使用擴充套件包maatwebsite/excel 實現 Excel/CSV 檔案匯入匯出功能

一、安裝1、composer require maatwebsite/excel ~2.0.02、在專案下composer.json中require裡新增"maatwebsite/excel":"~2.0.0",並執行composer update 載入該包 二、配置1、在

Laravel Excel實現Excel/CSV檔案匯入匯出功能詳解(合併單元格,設定單元格樣式)

Laravel Excel實現Excel/CSV檔案匯入匯出(合併單元格,設定單元格樣式) 這篇文章主要給大家介紹了關於在Laravel中如何使用Laravel Excel實現Excel/CSV檔案匯入匯出功能的相關資料,文中通過示例程式碼介紹的非常詳細,對大

js實現Excel檔案匯入匯出、利用 js-xlsx 實現 Excel 檔案匯入匯出-功能示例

1.匯入功能實現 下載js-xlsx到dist複製出xlsx.full.min.js引入到頁面中 然後通過FileReader物件讀取檔案利用js-xlsx轉成json資料 <!DOCTYPE html> <html> <head>

純前端利用 js-xlsx 實現 Excel 檔案匯入匯出功能示例

1.匯入功能實現 下載js-xlsx到dist複製出xlsx.full.min.js引入到頁面中 然後通過FileReader物件讀取檔案利用js-xlsx轉成json資料 程式碼實現(==>示例<==) <!DOCTYPE html> <html> <he

excelcsv檔案匯入匯出

匯入csv檔案 Private Sub Inport_Renkei_CSV_Click_Click() Dim rowIndex As Integer, item As Integer

SSM整合開發之CSV檔案匯入匯出實戰-鍾林森-專題視訊課程

SSM整合開發之CSV檔案匯入匯出實戰—65人已學習 課程介紹         本課程將給大家分享如何基於SSM實現CSV檔案的匯入匯出,並講解目前企業級JavaWeb應用mvc三層模式的開發流程,

Android之SD卡 模擬器SD卡的建立和檔案匯入匯出

篇章一:SD卡的建立: 一 SDCard介紹 1.SDCard可以把他看看做是行動硬碟或U盤,也就是手機的記憶體卡 2.SDCard的建立是在eclipse建立模擬器時隨同建立,也可以使用dos命令建立 二 SDCard的使用 在程式中訪問SDCard的時候需

Laravel 5使用Laravel Excel實現Excel/CSV文件導入導出的功能詳解

使用 pat 不存在 data utf-8 標題 sts lda http https://mp.weixin.qq.com/s/Gel1eMHz6_eDWgDMaBQ5BQ 這篇文章主要給大家介紹了關於在Laravel 5中如何使用Laravel Excel實現Exc

Laravel Excel 實現 Excel-CSV 文件導入導出功能

except csdn href option 解釋 cep png xls web Laravel Excel 是一款基於 PHPExcel 開發的Laravel框架專用的 Excel/CSV 文件導入導出功能的擴展包,用起來的非常方便。 它的 Github 地址是:h

Laravel 5 集成七牛雲存儲實現雲存儲功能

abc example 官方 中新 ice str laravel hot 分段 本擴展包基於https://github.com/qiniu/php-sdk開發,是七牛雲儲存 Laravel 5 Storage版,通過本擴展包可以在Laravel 5中集成七牛雲存儲功能。

Laravel 5 通過 Simple QrCode 擴充套件包生成二維碼詳解

1、簡介 Simple Qrcode 是 Bacon/BaconQrCode 針對 Laravel 框架的封裝版本,用於在 Laravel 中為生成二維碼提供介面。 2、安裝&配置 在專案根目錄下使用如下命令安裝依賴包: composer require

JQuery AJAX 如何實現 Excel 檔案 下載

我們知道,JQuery的ajax函式的返回型別只有xml、text、json、html等型別,沒有“流”型別,所以我們要實現ajax下載,不能夠使用相應的ajax函式進行檔案下載。但在js中 生成一個form,用這個form提交引數,並返回“流”型別的資料。在實現過程中,

【C#.NET】將excel或將CSV檔案的sheet1匯入到dataGridView1 ,或者匯入到DataTable,匯入到DataSet

實現的效果: using System; using System.Data; using System.Data.OleDb; using System.Windows.Forms; namespace 淘寶單據接收器 {     public partial clas

配方 ExcelCSV匯入匯出

先來看下執行效果: 以下是實現步驟: 第一步:設計介面,參考上面的執行時設計介面即可; 第二步:建立DataFiles檔案,用於存放匯入匯出的Excel或Csv模板來使用的 1、DataFiles資料夾裡主要包含三個檔案  TplPeiFang.csv(需要匯入

用sql server匯入匯出功能excel匯入到sql的表,提示匯入成功,但是資料庫表並沒有資料?

這是典型的操作錯誤問題 在匯入資料的最後一步之前“選擇源表和檢視”步驟中會出現兩個表,這裡假設你是從“ab”表中匯出的資料,那麼這裡會出現“ab”和“ab$”兩個選項,如果選擇上面的選項,則匯入資料肯定為空,應該選擇下面的那個選項,然後將“目的”中表名最後的“$”去掉,然後

js-xlsx實現Excel匯入匯出功能

一:匯入功能 讀取excel的多個sheet資料 <script type="text/javascript" src="js/xlsx.core.min.js"></script> <table style="width

Java實現Excel檔案匯入匯出

1.匯入jar包 2.建立entity類 public class Book { private String name; private double price; private String author; public String getNa

C#端excelcsv檔案匯入成datatable

using System;using System.Collections;using System.Collections.Generic;using System.Linq;using System.Text;using NPOI.SS.UserModel;using N

Java使用jxl的api實現excel動態資料驗證及匯入匯出

首先從優缺點上來說 一、jxl 優點: Jxl對中文支援非常好,操作簡單,方法看名知意。 Jxl是純javaAPI,在跨平臺上表現的非常完美,程式碼可以再windows或者Linux上執行而無需重新編寫 支援Excel 95-2000的所有版本(網上說目前可以支援Ex