国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

ThinkPHP基于PHPExcel導入Excel文件的方法

2020-03-22 18:05:06
字體:
來源:轉載
供稿:網友
本文實例講述了ThinkPHP基于PHPExcel導入Excel文件的方法。分享給大家供大家參考。具體方法如下:主要知識點,用PHPExcel導入Excel數據經過這幾天測試還是可以,xls,xlsx都可以獲取Excel的數據。
下載地址:http://phpexcel.codeplex.com/開發思路:1.先把Excel文件上傳到服務器2.獲取服務器Excel文件內容3.寫入數據庫一、上傳Excel文件,使用PHP里自帶的上傳方法 “/Think/Upload();”,可以很方便的實現。為此我整理下使用這個方法的最簡單方式復制代碼 代碼如下:/**
* TODO 上傳文件方法
* @param $fileid form表單file的name值
* @param $dir 上傳到uploads目錄的$dir文件夾里
* @param int $maxsize 最大上傳限制,默認1024000 byte
* @param array $exts 允許上傳文件類型 默認array('gif','jpg','jpeg','bmp','png')
* @return array 返回array,失敗status=0 成功status=1,filepath=newspost/2014-9-9/a.jpg
*/
function uploadfile($fileid,$dir,$maxsize=5242880,$exts=array('gif','jpg','jpeg','bmp','png'),$maxwidth=430){
$upload = new /Think/Upload();// 實例化上傳類
$upload- maxSize = $maxsize;// 設置附件上傳大小,單位字節(微信圖片限制1M
$upload- exts = $exts;// 設置附件上傳類型
$upload- rootPath = './uploads/'; // 設置附件上傳根目錄
$upload- savePath = $dir.'/'; // 設置附件上傳(子)目錄
// 上傳文件
$info = $upload- upload(); if(!$info) {// 上傳錯誤html' target='_blank'>提示錯誤信息
return array(status= 0,msg= $upload- getError());
}else{// 上傳成功
return array(status= 1,msg= '上傳成功',filepath= $info[$fileid]['savepath'].$info[$fileid]['savename']);
}
}這里默認上傳到ThinkPHP入口文件index.php所在的文件夾uploads,此方法返回一個數據,狀態status=1時為成功,也建議大家在寫功能模塊時或做封裝時,整個系統的在架構初期應該有約定,在必要的情況下返回值用數組形式,成功返回復制代碼 代碼如下:return array(status= 1,data= ....,info= .....)
失敗時可以返回復制代碼 代碼如下:array(status- 0,info= '可以說明出錯的原因',....)
這樣用統一的方式有利于規范開發,團隊協作時看代碼時可以提高效率,減少思維運轉,說遠了,上傳的方法調用方式如下:復制代碼 代碼如下://excel 文件
if(!empty($_FILES['xls']['name'])){
$upload=uploadfile('xls','tempxls',5242880,array('xls','xlsx'));
if($upload['status']){
$path=$upload['filepath'];
}else{
$this- error($upload['msg']);
}
}二、獲取Excel數據1.首先需要引入PHPExcel的類庫復制代碼 代碼如下:require_once 'module/PHPExcel/Classes/PHPExcel/IOFactory.php';2.獲取Excel第0張表即(Sheet1)復制代碼 代碼如下://獲取excel文件
$objPHPExcel = /PHPExcel_IOFactory::load("uploads/$path");
$objPHPExcel- setActiveSheetIndex(0);
$sheet0=$objPHPExcel- getSheet(0);3.獲取行數,并把數據讀取出來$data數組復制代碼 代碼如下:$rowCount=$sheet0- getHighestRow();//excel行數
$data=array();
for ($i = 2; $i = $rowCount; $i++){
$item['name']=$this- getExcelValue($sheet0,'A'.$i);
$item['sex']=$this- getExcelValue($sheet0,'B'.$i);
$item['contact']=$this- getExcelValue($sheet0,'C'.$i);
$item['remark']=$this- getExcelValue($sheet0,'D'.$i);
$item['addtime']=$this- getExcelValue($sheet0,'E'.$i); $data[]=$item;
}三、最后保存到數據庫復制代碼 代碼如下:$success=0;
$error=0;
$sum=count($data);
foreach($data as $k= $v){
if(M('temp_area3')- data($v)- add()){
$success++;
}else {
$error++;
}
}echo "總{$sum}條,成功{$success}條,失敗{$error}條。";至此大功告成!希望本文所述對大家的ThinkPHP框架程序設計有所幫助。PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 星座| 碌曲县| 延川县| 郸城县| 泾川县| 新竹县| 瑞昌市| 澄迈县| 乌海市| 电白县| 巴楚县| 和硕县| 石门县| 海阳市| 霍山县| 老河口市| 汤原县| 盘山县| 大兴区| 大冶市| 连云港市| 赤峰市| 南汇区| 娄底市| 河北区| 武川县| 涟水县| 松原市| 蒙自县| 云林县| 平邑县| 陆川县| 吉首市| 石家庄市| 金山区| 桂林市| 桃园县| 霍邱县| 历史| 黄冈市| 乌鲁木齐市|