一区二区三区欧美日韩-一区二区三区欧美-一区二区三区免费在线视频-一区二区三区免费在线观看-久久精品店-久久精品第一页

歡迎您光臨深圳塔燈網絡科技有限公司!
電話圖標 余先生:13699882642

DEDECMS批量導入excel數據到后臺文章系統的開發教程

發表日期:2018-10 文章編輯:小燈 瀏覽次數:3357

對于一些企業網站或者淘寶客類網站經常會需要將一些excel的數據批量導入到網站,通過批量導入來節省時間而不是從網站后臺一條一條的錄入加數據。本教程就是以把excel數據導入到織夢系統(dedecms)為例子進行批量數據導入的開發,假設把excel數據導入到織夢主表dede_archives(還有微表和附加表,這里就用主表代表這三個表)里面。
批量導入excel數據原理:通過查詢excel,把數據一條一條的讀取出來,然后,通過我們開發的php程序把數據導入到表里面。
通過上面的原理我們知道,我們可以把批量導入excel數據分為兩部分,一部分是開發出從excel讀取數據的程序,另一部分是開發出把讀取出來的數據插入到數據庫表dede_archives里面。
從excel讀取數據程序開發
其實,這一步有一個老外已經幫我們開發好了,這個老外開發了一套專門讀取excel數據表的程序叫PHPExcel類庫。
這個excel類庫還包括其它的一些功能,這里不一一介紹,您可以下載來看看,這里只對讀取excel進行講解。
把讀取出來的數據插入到主表dede_archives里面
當通過PHPExcel類庫里面提供的類讀取數據后,這一步就是把數據插入到數據庫表里面,所以,這一個教程的開發其實就是在開發這一部分 ; 把從excel讀取出來的數據插入到主表中的程序開發。
為了講解方便,我們把插入數據庫表中的數據的文件名叫做excelinert.php ,下面就在這個文件里面進入程序開發,把讀取出來的數據插入到數據庫表中。


插入數據開發原理
1)開發前的準備:
在excelinsert.php里面加入一個header頭的編碼,目的是為了統一編碼以免出現亂碼:header("Content-type:text/html;charset=utf8");
引入織夢系統的公共文件common.inc.php,為什么要引入這個文件,我們在插入數據庫表前,首頁要連接網站的數據庫,如果不連接將無法插入數據庫數據。要注意,引入文件的路徑要改成您自己的,因為,我把織夢系統安裝在了dedecms里面,所以,路徑中有這個目錄名稱dedecms,如果您安裝在根目錄的話就去掉這個路徑。
設置錯誤報告、設置時區、設置程序運行時間,當然,這個運行時間可以不設置、設置PHPExcel類的類庫存路徑,然后,引入IOFactory.php文件,這個文件是最重要的,本功能就是通過這個文件來處理的,這幾個設置代碼如下:

這些代碼全是PHPExcel類里面提供的,所以,這里不用多解釋。
2) 開發插入數據代碼:
為了講解方式,我們將直接以這種形式來插入數據:https://www.bnxb.com/excelinsert.php?dopost=exdata&typeid=6&n=test1
表示通過文件excelinert.php插入excel里面的名稱為test1的里面的數據,把這些數據插入到織夢數據庫表dede_archvies里面,欄目id為6的表中,其中,dopost=exdata表示插入數據口令,因為,作一個判斷的話,那什么人也能插入到您的數據庫表里面數據了,這是非常可怕的,就像一個網站沒有后臺一樣,這是不是非??赡苷l都可以進入網站后臺里面,同樣的,如果不加這個口令的話,誰都可以插入數據,這是不安全的。
所以,在插入數據前先通過$GET超級數組獲取到typeid、do和n的值,然后,進行對比看看有沒有權限進行插入數據庫操作,第一個判斷應當是判斷口令是否正確,如果這個都不正確的話,就不再向下操作了。
為了講解方便,下面提供excelinsert.php開發完整的代碼:

header("Content-type:text/html;charset=utf8");require_once('/../dedecms/include/common.inc.php');error_reporting(E_ALL);set_time_limit(0);date_default_timezone_set('Europe/London');/** Include path **/set_include_path(get_include_path() . PATH_SEPARATOR . '../../../Classes/');/** PHPExcel_IOFactory */include 'PHPExcel/IOFactory.php';if(!empty($_GET)){$typeid = $_GET['typeid'];$dopost = $_GET['do'];if($dopost == "exdata"){if(!empty($_GET['n'])){$inputFileName = './'.$_GET['n'].'.xlsx';$objPHPExcel = PHPExcel_IOFactory::load($inputFileName);$sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true);$rowarr=array();$dsql->Execute('all',"select bio2,bio1 from `dede_addonshop`");while ($rowall = $dsql->GetArray('all')) {$rowarr[]=$rowall;}foreach ($sheetData as $v) {foreach ($rowarr as $vt) {if(in_array($v['B'],$vt)&&$v['A']==$vt['bio1']){echo "貨號為:".$v['B']."廠商為:".$v['A']."的數據已在表中,請在excel文件里面刪除這一條后再添加!";exit;}}}//附加表插入數據前處理$row = $dsql->GetOne("select aid,bio2 from `dede_addonshop` order by aid desc");if(!empty($row)){$aid = $row['aid'];$bio2 = $row['bio2'];}else{$aid = 0;$bio2 = '';}//處理重復問題if($bio2==$sheetData[count($sheetData)]['B']){ShowMsg("不能重復添加內容",'javascript:;');exit;}//主表插入數據前處理$arcrow = $dsql->GetOne("select id from `dede_archives` order by id desc");if(!empty($arcrow)){$arcid = $arcrow['id'];}else{$arcid = 0;}//微表插入數據前處理$tinyrow = $dsql->GetOne("select id from `dede_arctiny` order by id desc");if(!empty($tinyrow)){$tinyid = $tinyrow['id'];}else{$tinyid = 0;}//找出最大的id$id = max($aid,$arcid,$tinyid);$alphalpha = array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','AA','AB','AC','AD','AE','AF','AG','AH','AI','AJ','AK','AL','AM','AN','AO','AP','AQ','AR','AS','AT','AU','AV','AW','AX','AY','AZ');//字段數量$fieldnum = count($sheetData[1]);$fields = $fieldvalue = '';for ($i=0; $i < $fieldnum; $i++) {$fields .= $sheetData[1][$alphalpha[$i]]. ',';}$fields = substr($fields, 0,-1);//遍歷數組foreach ($sheetData as $value) {$pubdate = GetMkTime(GetDateTimeMk(time()));$click = mt_rand(50, 200);if($value['A']=='bio1'|$value['A']=='廠商'){continue;}$id = $id+1;//獲取字段值$value['A'];for ($i=0; $i < $fieldnum; $i++) {$fieldvalue .= " ,'".$value[$alphalpha[$i]]."' ";}//標題$C = trim($value['C']);//保存到主表$senddate = time();$arcquery = "INSERT INTO `dede_archives`(id,typeid,title,mid,channel,pubdate,senddate,click,ismake)VALUES ('$id','$typeid','$C','1','6','$pubdate','$senddate','$click','-1');";$dsql->ExecuteNoneQuery($arcquery);//保存到附近加表$query = "INSERT INTO `dede_addonshop`(aid,typeid,$fields)VALUES ('$id','$typeid'{$fieldvalue});";$dsql->ExecuteNoneQuery($query);$fieldvalue = '';//保存到微表$tinyquery = "INSERT INTO `dede_arctiny`(id,typeid,channel,mid,senddate)VALUES ('$id','$typeid','6','1','$senddate');";$dsql->ExecuteNoneQuery($tinyquery);}$num = count($sheetData)-2;ShowMsg("恭喜,成功插入 ".$num." 條數據!",'javascript:;');}


本頁內容由塔燈網絡科技有限公司通過網絡收集編輯所得,所有資料僅供用戶參考了本站不擁有所有權,如您認為本網頁中由涉嫌抄襲的內容,請及時與我們聯系,并提供相關證據,工作人員會在5工作日內聯系您,一經查實,本站立刻刪除侵權內容。本文鏈接:http://www.junxiaosheng.cn/11274.html
相關cms文章
 八年  行業經驗

多一份參考,總有益處

聯系深圳網站公司塔燈網絡,免費獲得網站建設方案及報價

咨詢相關問題或預約面談,可以通過以下方式與我們聯系

業務熱線:余經理:13699882642

Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.    

主站蜘蛛池模板: 久久精品热线免费| 伦理在线影院伦理电影| 99久久精品免费看国产一区二区三区 | 泷泽萝拉首部av| 成人免费观看国产高清| 亚洲精品无码成人AAA片| 欧美美女性生活| 久久99国产精品无码AV| 粉嫩无套白浆第一次jk| 99精彩免费观看| 亚洲一区二区女搞男| 水蜜桃亚洲一二三四在线| 男男gaygay拳头| 久久久精品久久久久三级| 国产啪精品视频网免费| 草莓湿漉漉是好事还是恶性| 中文字幕乱码一区久久麻豆樱花| 亚洲成AV人片一区二区不卡| 日本888xxxx| 欧美日韩亚洲综合2019| 两性色午夜视频免费国产| 精品三级久久久久电影网1| 国产露脸A片国语露对白| 攻把受做哭边走边肉楼梯PLAY| 99精品久久久久久久| 在线观看亚洲免费视频| 亚洲一区免费观看| 亚洲欧美日韩高清专区| 亚洲a视频在线| 无止侵犯高H1V3无止侵犯| 欧美巨大xxxx做受高清| 女厕所边摸边吃奶边做爽视频| 伦理片在线线手机版韩国免费6| 久久九九免费| 久久一本岛在免费线观看2020| 果冻传媒色AV国产播放| 国内精品一级毛片免费看| 国产无遮挡无码视频在线观看不卡| 国产伦精品一区二区三区免费| 国产精品久久久久久久A片冻果| 国产99久久九九免费精品无码|