? 背景
- 這兩天在開發(fā)快遞查詢的功能時(shí)击困,涉及到了
Excel表導(dǎo)入MySQL
的操作盒齿,為了方便后期的快捷使用阿宅,在此整理一下PHPExcel
對(duì)excel
表導(dǎo)入導(dǎo)出的代碼解決步驟橡类,希望能幫到有需要的道友們...
框架:
ThinkPHP5.1
類庫:PHPExcel
技能:Composer
,MySql
? 前期準(zhǔn)備:PHPExcel
類庫的獲取
第一種方式為:使用
Composer
進(jìn)行安裝;
第二種方式為:直接到【Github·PHPOffice/PHPExcel】下載源包
后者需要注意杭攻,將壓縮包解壓后放到vendor
目錄祟敛,并且注意路徑的正確引入
此處,只做第一種方式的指導(dǎo)參考[建議學(xué)會(huì)Composer的簡單使用兆解,實(shí)在是太方便了]
- 進(jìn)入項(xiàng)目目錄,輸入命令:
composer require phpoffice/phpexcel
安裝成功后跑揉,會(huì)注意到項(xiàng)目的vendor
目錄下锅睛,多出了一個(gè)phpoffice
文件夾
? 如何將 Excel
中的數(shù)據(jù)導(dǎo)入MySQL
?
除了參考我展示的步驟,也要注意下我的代碼注釋哦历谍!
①. excel 文件的整理
首先要求用來導(dǎo)入
MySQL
數(shù)據(jù)表的excel文件
中的內(nèi)容要規(guī)整现拒,對(duì)應(yīng)于你的數(shù)據(jù)表
- 鄙人將其放置于目錄
public\cms\file\bird_express.xlsx
以我要操作的 excel
表為例,(==數(shù)據(jù)簡單望侈,可舉一反三印蔬,自由拓展==):
②. 創(chuàng)建目標(biāo)數(shù)據(jù)表
-
以我的簡答測(cè)試為例,表格設(shè)計(jì)如下:
③. MTPhpExcel類的使用
- 首先引入所提供源碼中的
MTPhpExcel.php
下圖即為我創(chuàng)建的 ==測(cè)試入口==脱衙,主要目的就是為了調(diào)用核心方法readExcelFileToArray()
核心處理方法
readExcelFileToArray()
源碼見附錄
-
運(yùn)行代碼后的結(jié)果如下:
? 如何將數(shù)據(jù)導(dǎo)出到Excel
文件 ?
- 同理侥猬,我設(shè)計(jì)了一個(gè)測(cè)試方法例驹,主要目的就是為了調(diào)用核心方法
outputDataToExcelFile()
核心處理方法
outputDataToExcelFile()
源碼見附錄
- 運(yùn)行代碼后,可以得到如下的一個(gè)
excel
表:
【溫馨提示:】
1. 為了代碼參考方便退唠,鄙人盡量使其簡潔化
所以如果對(duì)于某列數(shù)據(jù)需要字體加粗鹃锈、居中、變大等各種操作瞧预,可自行擴(kuò)展
2. 當(dāng)前代碼屎债,未做圖片格式的展示處理
如有需要可閱讀 phpexcel 文檔規(guī)則,根據(jù)目標(biāo)數(shù)據(jù)對(duì)應(yīng)性處理即可 ...
? 附錄
? >>>源碼下載>>> ?
- 主要使用的就是其中的
MTPhpExcel
類
image