国产精品一区二区三区……-大杳蕉伊人欧美一本遒在饯-日本不卡一区免费在线观看-国产亚洲欧美中文字幕

400-800-9385
網(wǎng)站建設(shè)資訊詳細(xì)

PHP網(wǎng)站制作之后臺(tái)功能Excel文檔導(dǎo)入數(shù)據(jù)表

發(fā)表日期:2022-09-14 13:59:33   作者來(lái)源:黎云輝   瀏覽:1923   標(biāo)簽:PHP網(wǎng)站制作    
在網(wǎng)站建設(shè)過(guò)程中,時(shí)不時(shí)就會(huì)遇到需要增加大量數(shù)據(jù)的情況,比如說(shuō)產(chǎn)品數(shù)據(jù),會(huì)員數(shù)據(jù)之類的,從其他站點(diǎn)搬遷到新的網(wǎng)站上,如果手動(dòng)一條一條的去增加,那無(wú)疑是會(huì)浪費(fèi)大量的時(shí)間和精力;而且數(shù)據(jù)表結(jié)構(gòu)設(shè)計(jì)在不相同的情況下,也不能完全的直接導(dǎo)入原來(lái)的數(shù)據(jù)表,所以這種情況下,可以把原來(lái)的數(shù)據(jù)表導(dǎo)出為Excel文檔,然后再通過(guò)導(dǎo)入Excel文檔到數(shù)據(jù)庫(kù),這樣一來(lái)就節(jié)省了人力物力以及大量的時(shí)間,而且也保證了數(shù)據(jù)不會(huì)丟失。
 數(shù)據(jù)導(dǎo)入

 

大概的頁(yè)面是這樣的,這里是設(shè)置一個(gè)Excel文檔模板給后臺(tái)管理人員參考,以免Excel文檔結(jié)果不對(duì),導(dǎo)致導(dǎo)入數(shù)據(jù)出錯(cuò);
 
 待導(dǎo)入Excel
 
Excel文檔的結(jié)構(gòu)是這樣的,下面做功能程序的時(shí)候需要用到;
 

PHP代碼塊1

這里的ABCDE就是對(duì)應(yīng)Excel文檔的列名稱,左邊對(duì)應(yīng)的就是數(shù)據(jù)表名稱,這里根據(jù)個(gè)人情況設(shè)置即可;
 
 PHP代碼塊2
 
下面直接貼出代碼:
table_excel方法:
public function table_excel(){
 
        if (IS_POST){
            ini_set('memory_limit', '256M');//程序運(yùn)行內(nèi)存
            $file_url=I('post.file_url','');
            if($file_url==''){;
                $this->error('請(qǐng)先上傳文件');
            }
            $file_url=str_replace('/Uploads','Uploads',$file_url);//去掉第一個(gè)斜線,因?yàn)槿≡~excel只能用相對(duì)路徑。
            $array=excelImport($file_url,1,'E');
            //從第一行開(kāi)始,E列結(jié)束,需要修改excelImport($filename, $begin) 為 excelImport($filename, $begin,$allColumn);   去掉 $allColumn = $currentSheet->getHighestColumn();輸出$array就知道怎么導(dǎo)入了
            // var_dump($array);exit();
            $ModelObj = D('Member');
 
            if(!count($array)){
             $this->error('上傳的文件不正確');
            }
            $lists=array();
            $this->status=1;
            $num=0;
            foreach($array as $key => $var){
 
                $data['title'] = $var['A'];
                $data['number'] = $var['B'];
                $data['courses'] = $var['C'];
                $data['place'] =$var['D'];
                $data['time'] = $var['E'];
 
                $data['order_id'] = 100;
                $data['is_show'] = 1;
                $flag = $ModelObj->data($data)->add();
                if($flag>0){
                   $num++;
                }
            }
                 unset($data);
                 unset($var['A']);
                 unset($var['B']);
                 unset($var['C']);
                 unset($var['D']);
                 unset($var['E']);
 
                 $this->success('成功導(dǎo)入'.$num.'條信息');
        }
                $this->display();
}
 
 
excelImport方法:
/**
 * 讀取Excel文件
 */
function excelImport($filename, $begin,$allColumn) {
    Vendor('PHPExcel.PHPExcel');
    //建立reader對(duì)象
    $PHPReader = new PHPExcel_Reader_Excel2007();
    if (!$PHPReader->canRead($filename)) {
        $PHPReader = new PHPExcel_Reader_Excel5();
        if (!$PHPReader->canRead($filename)) {
            return array();
        }
    }
 
    //建立excel對(duì)象,此時(shí)你即可以通過(guò)excel對(duì)象讀取文件,也可以通過(guò)它寫(xiě)入文件
    $PHPExcel = $PHPReader->load($filename);
 
    /*     * 讀取excel文件中的第一個(gè)工作表 */
    $currentSheet = $PHPExcel->getSheet(0);
    /*     * 取得最大的列號(hào) */
  //  $allColumn = $currentSheet->getHighestColumn();
    /*     * 取得一共有多少行 */
    $allRow = $currentSheet->getHighestRow();
 
    $returnCell = '';
    //循環(huán)讀取每個(gè)單元格的內(nèi)容。注意行從1開(kāi)始,列從A開(kāi)始
    for ($rowIndex = $begin; $rowIndex <= $allRow; $rowIndex++) {
        for ($colIndex = 'A'; $colIndex <= $allColumn; $colIndex++) {
            $addr = $colIndex . $rowIndex;
            $cell = $currentSheet->getCell($addr)->getValue();
            if ($cell instanceof PHPExcel_RichText) {
                //富文本轉(zhuǎn)換字符串
                $returnCell[$rowIndex][$colIndex] = $cell->__toString();
            } else {
                $returnCell[$rowIndex][$colIndex] = $cell;
            }
        }
    }
    return $returnCell;
 
}

PHP是一門專門開(kāi)發(fā)網(wǎng)站的語(yǔ)言,非常好用,而且還是開(kāi)源免費(fèi)的,配合開(kāi)源數(shù)據(jù)庫(kù)MYSQL,基本天衣無(wú)縫。
 
如沒(méi)特殊注明,文章均為方維網(wǎng)絡(luò)原創(chuàng),轉(zhuǎn)載請(qǐng)注明來(lái)自http://pdcharm.com/news/6535.html
相關(guān)網(wǎng)站設(shè)計(jì)案例
叙永县| 岳阳市| 呼伦贝尔市| 台北市| 兰考县| 玛曲县| 沿河| 五河县| 合山市| 阳东县| 黔江区| 望谟县| 鄂州市| 辽宁省| 天津市| 宜都市| 图们市| 巴林左旗| 扶风县| 易门县| 巴东县| 右玉县| 沾化县| 丁青县| 平陆县| 建阳市| 普宁市| 巴青县| 和平区| 开化县| 射阳县| 临沭县| 红安县| 五华县| 威信县| 昌宁县| 罗平县| 沅陵县| 安溪县| 嘉荫县| 旅游|