Laravel Excel實現Excel/CSV檔案匯入匯出的功能詳解(合併單元格,設定單元格樣式)
Laravel Excel實現Excel/CSV檔案匯入匯出(合併單元格,設定單元格樣式)
這篇文章主要給大家介紹了關於在Laravel中如何使用Laravel Excel實現Excel/CSV檔案匯入匯出功能的相關資料,文中通過示例程式碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
解決問題:在很對真實開發需求下,我們的Excel檔案並不是單純的匯出,還需要對其內容進行完善和修飾,這就是我們這篇文章出現的真正原因,希望能幫助到更多的小夥伴,本部落格會持續更新,希望有不對的地方小夥伴的多多的指出
1.簡介
Laravel Excel 是一款基於PHPExcel開發的Laravel框架專用的Excel/CSV 檔案匯入匯出功能的擴充套件包,用起來的非常方便。
它的Github地址是:
當然了,你也可以使用PHPExcel,但是請注意,PHPExcel官方團隊已經停止維護了,現在官方團隊開發維護的是它的升級版PHPExcel擴充套件包,叫做:PhpSpreadsheet
2.安裝與配置
好,我們先去官網注意一下細節,針對我們不同版本的環境下載我們需要的安裝包,個人php7.0,下載2.1版本
1. 首先在Laravel專案根目錄下使用Composer安裝依賴:
composer require "maatwebsite/excel:~2.1.0"
2.在config/app.php中註冊服務提供者到providers陣列
Maatwebsite\Excel\ExcelServiceProvider::class,
3.在config/app.php中註冊門面到aliases陣列:
'Excel' => Maatwebsite\Excel\Facades\Excel::class,
4.之後生成配置檔案,生成之後再config資料夾裡有一個excel.php
php artisan vendor:publish
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 檔案到處功能
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');
}
}
好現在我們已經實現了,基本的匯出功能,但是:老闆說,這不太符合需求,我想要第一排,三個單元格合併的那種,這可急壞我了,也是我去找度娘,還是在前輩們的身影裡看到了希望,接下為大家介紹一下:如何設定單元格資訊
$cellData = ['90','88','85','263'];
Excel::create('財務報表',function($excel) use ($cellData){
$excel->sheet('財務報表', function($sheet) use ($cellData){
$tot = count($cellData) ;
//設定單元格寬度、字型大小
$sheet->setWidth(array(
'A' => 12,
'B' => 12,
'C' => 12,
'D' => 12
))->rows($cellData)->setFontSize(12);
// 選單 樣式
$sheet->cells('A1:C1', function($cells) {
$cells->setAlignment('center');
$cells->setFontWeight('bold');
});
// 總分 右對齊
$sheet->cells('D', function($cells) {
$cells->setAlignment('right');
});
// 總分內容樣式
$sheet->cells('D', function($cells) {
$cells->setAlignment('left');
$cells->setFontColor('#a09b9b');
$cells->setFontFamily('Calibri');
$cells->setFontWeight('normal');
$cells->setFontSize(12);
});
// 高亮顯示
$sheet->cells('A3:D3', function($cells) {
$cells->setBackground('#87eabd');
$cells->setFontWeight('bold');
$cells->setFontSize(14);
});
//合併行
$sheet->mergeCells('A1:D1');
//填充每個單元格的內容
$sheet->cell('A1','張三')
$sheet->cell('A2','語文')
$sheet->cell('B2','數學')
$sheet->cell('C2','外語')
$sheet->cell('D2','總分')
$sheet->cell('A3',$cellData[0])
$sheet->cell('B3',$cellData[1])
$sheet->cell('C3',$cellData[2])
$sheet->cell('C3',$cellData[3])
});
})->export('xls');
哇,好了,這下又解決了一塊心頭病,
注意:
以上為測試資料,如果想更好的實現,請使用陣列傳輸資料,一個基本的資料匯出功能第一種方法比較方便快捷,只有在特殊需求情況下才會使用第二種情況,比如:合併單元格,制定特殊單元格樣式,如果如上圖,前兩排為固定值,只需定義前兩排的值,後邊用陣列便利$shell->cell(),防止太多冗餘程式碼,給專案帶來不必要的壓力
4.匯入檔案
匯入我們可以直接用第一步註冊的門面Excel門面上的load方法
public function import(){
$filePath = 'storage/exports/'.iconv('UTF-8', 'GBK', '使用者資訊').'.xls';
Excel::load($filePath, function($reader) {
$data = $reader->all();
dd($data);
});
}
一個簡單的操作就完成了,這個外掛使用起來挺不錯的。上方出現的問題,解決的或者有問題的請留言。
如果對上邊提到方法有不足的地方請多多指出,如果對您或者您的身邊的小夥伴有幫助請多多推廣,謝謝
下邊推送一個連線:http://www.bcty365.com/content-153-6235-1.html
這篇文章更好的解釋了laravel 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 5 中使用 Laravel Excel 實現 Excel/CSV 檔案匯入匯出功能
1、簡介Laravel Excel 在 Laravel 5 中整合 PHPOffice 套件中的 PHPExcel,從而方便我們以優雅的、富有表現力的程式碼實現Excel/CSV檔案的匯入和匯出。本文我們將在Laravel中使用Laravel Excel簡單實現Excel檔案
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
excel對csv檔案匯入匯出
匯入csv檔案 Private Sub Inport_Renkei_CSV_Click_Click() Dim rowIndex As Integer, item As Integer
SSM整合開發之CSV檔案匯入匯出實戰-鍾林森-專題視訊課程
SSM整合開發之CSV檔案匯入匯出實戰—65人已學習 課程介紹 本課程將給大家分享如何基於SSM實現CSV檔案的匯入匯出,並講解目前企業級JavaWeb應用mvc三層模式的開發流程,
mysql匯入匯出命令詳解
mysql匯入匯出命令詳解 一、匯出資料庫用mysqldump命令(注意mysql的安裝路徑,即此命令的路徑):/usr/local/mysql/bin/ ---> mysql的data目錄1、匯出資料和表結構:mysqldump -u使用者名稱 -p密碼 資料庫名 >
SpringBoot實現檔案上傳功能詳解
[toc] # 利用SpirngBoot實現檔案上傳功能 ## 零、本篇要點 - 介紹SpringBoot對檔案上傳的自動配置。 - 介紹MultipartFile介面。 - 介紹SpringBoot+Thymeleaf檔案上傳demo的整合。 - 介紹對檔案型別,檔名長度等判斷方法。 ## 一、Sp
Eclipse匯入Maven專案詳解(新手初學)
最近遇到Maven管理下的spring MVC專案,組內某位將專案程式碼扔過來,一臉懵逼(囧),查閱了一些資料後終於將此專案執行通了(>_<),特此記錄下來與各位分享。 通俗的來說,Maven就是個類似於Git的專案管理工具。而Spring MVC就是將M(Mo
Nginx配置檔案nginx.conf中文詳解(總結)
#定義Nginx執行的使用者和使用者組 user www www; #nginx程序數,建議設定為等於CPU總核心數。 worker_processes 8; #全域性錯誤日誌定義型別,[ debug | info | notice | warn | erro
Linux命令-自動掛載檔案/etc/fstab功能詳解[轉]
一、/etc/fstab檔案的作用 磁碟被手動掛載之後都必須把掛載資訊寫入/etc/fstab這個檔案中,否則下次開機啟動時仍然需要重新掛載。 系統開機時會主動讀取/etc/fstab這個檔案中的內容,根據檔案裡面的配置掛載磁碟。這樣
Linux命令-自動掛載檔案/etc/fstab功能詳解
一、/etc/fstab檔案的作用 磁碟被手動掛載之後都必須把掛載資訊寫入/etc/fstab這個檔案中,否則下次開機啟動時仍然需要重新掛載。 系統開機時會主動讀取/etc/fstab這個檔案中的內容,根據檔案裡面的配置掛載磁碟。這
使用LVS實現負載均衡原理及安裝配置詳解(轉)
bin 瀏覽器 gate 裏的 高性能 target 相關 asq 空間 負載均衡集群是 load balance 集群的簡寫,翻譯成中文就是負載均衡集群。常用的負載均衡開源軟件有nginx、lvs、haproxy,商業的硬件負載均衡設備F5、Netscale。這裏主要是
Java實現對Excel檔案匯入匯出
1.匯入jar包 2.建立entity類 public class Book { private String name; private double price; private String author; public String getNa
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
配方 Excel或CSV的匯入匯出
先來看下執行效果: 以下是實現步驟: 第一步:設計介面,參考上面的執行時設計介面即可; 第二步:建立DataFiles檔案,用於存放匯入匯出的Excel或Csv模板來使用的 1、DataFiles資料夾裡主要包含三個檔案 TplPeiFang.csv(需要匯入
js-xlsx實現Excel的匯入匯出功能
一:匯入功能 讀取excel的多個sheet資料 <script type="text/javascript" src="js/xlsx.core.min.js"></script> <table style="width
Java程式設計之CSV檔案匯入與匯出的實現
年前在開發功能模組的時候用到了CSV檔案匯入匯出,就此整理一下,便於大家參考。 匯入匯出功能很多時候用到的都是Excel檔案,但是現在越來越多的使用了CSV檔案進行此操作,它是一個純文字檔案,可以用記事本開啟,也可以用Excel開啟。CSV檔案不像Excel那樣有很多條條框
Laravel Excel 實現 Excel-CSV 文件導入導出功能
except csdn href option 解釋 cep png xls web Laravel Excel 是一款基於 PHPExcel 開發的Laravel框架專用的 Excel/CSV 文件導入導出功能的擴展包,用起來的非常方便。 它的 Github 地址是:h